Итераторы в Rust

Итераторы сердце языка Rust, язык стремится к zero-cost abstraction (абстракциям с нулевой стоимостью) и итераторы часто работают быстрее классических циклов потому как компилятор оптимизирует их лучше. Понять итераторы Поймите три кита итераторов Все методы итераторов делятся на три группы. Если вы их различаете, то код не будет для вас магией. Создатели (iterators): методы которые создают…

self в Rust

Мутный self в Rust или как раз и навсегда его понять

На начальном у всех новичков возникают проблемы с тем что значит self в rust и чем он отличается от Self. Ниже приведен пример кода из книги «Rust Профессиональное программирование». В книге допущена ошибка, я отметил ее в комментарии. Ожидался self, но случайно был напечатан Self и программа перестала компилироваться. Посмотрите этот код, он отлично иллюстрирует…

Так ли просто написать «Hello, World!» на языке Rust — про ссылки и разыменование

Сегодня столкнулся с интересной проблемой, которая показалась мне забавной. Простенькая задачка, что будет если добавить амперсанд к строке «Hello, World!». Собственно, давайте попробуем разобраться, что происходит когда мы делаем ссылку на «&str» тип. Посмотрите на код ниже, далее мы подробно разберем каждую строку.  

Разберём пошагово, что происходит в каждом вызове println! и почему возникает ошибка E0614.…