Rust
7.14K subscribers
313 photos
36 videos
3 files
886 links
Rust programming language

По всем вопросам- @haarrp

@ai_machinelearning_big_data - машинное обучение

@programming_books_it - бесплатные it книги

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚
Download Telegram
👣 Практическое знакомство с Rust: 20 готовых программ с объяснением

Rust быстро набирает популярность благодаря безопасности, скорости и удобству параллелизма. Но лучший способ понять язык — написать несколько работающих программ.

В этой статье собраны минимальные, но полезные примеры, которые помогут почувствовать Rust в деле: работа с переменными, структурами, ошибками, коллекциями и файлами.

https://uproger.com/prakticheskoe-znakomstvo-s-rust-20-gotovyh-programm-s-obyasneniem/

#junior
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍43🤬2🤗2🥰1🥱1🖕1
👣 Отличный пример того, как anyhow делает ошибки в Rust понятнее.

Код на скриншоте показывает, что каждая функция добавляет свой контекст, и в итоге при падении мы видим полную цепочку причин, а не просто финальную ошибку.

Что происходит:
hello0 выбрасывает ошибку с текстом "!!!!!".
hello1 вызывает hello0 и добавляет свой контекст "world".
hello2 вызывает hello1 и добавляет контекст "hello".
main вызывает hello2 и при ошибке печатает весь стек причин.

Что такое цепочка причин:
Это последовательность контекстов, которые добавлялись на каждом уровне вызовов.
Благодаря этому видно не только то, что сломалось, но и где именно.
Каждый уровень в стеке — это подсказка:
какая функция работала,
какой контекст она добавила,
и что пошло не так в конечном итоге.

Вывод при запуске:
hello
Caused by:
0: world
1: !!!!!

Как это читать:
Сверху -контекст "hello".
Под ним - контекст другой функции "world".
А внизу - исходная причина ошибки "!!!!!".

Такой подход делает отладку проще:
видно весь маршрут ошибки — от места падения до верхнего уровня.

#rust #junior
Please open Telegram to view this post
VIEW IN TELEGRAM
👍215🥰1😢1