Functional Language features in Rust: Iterators and Closures

На язык Rust было оказано влияние многими языкам и технологиями, особенно функциональным программированием.

Программирование в функциональном стиле часто включает использование функций, как значения входных или выходных данных, присвоение переменным функций для последующего использования и много чего ещё. Мы не будем обсуждать здесь вопрос о том, что, такое функциональное программирование. Вместо этого мы покажем различные возможности Rust, аналогичные возможностям во многих языках, часто называемых функциональными.

Более подробно мы будем говорить о:

  • Замыканиях - анонимных функциях, ссылку на которые можно сохранять в переменных.
  • Итераторах - способе обработки последовательности элементов.
  • Как с помощью этих языковых конструкций можно улучшить работу в операциях ввода/вывода (Глава 12)
  • Производительности этих конструкций. Спойлер: они быстрее, чем вы думаете. :-)

Ещё есть и другие возможности функционального программирования, которые реализованы в Rust - шаблоны поиска (match), перечисления, которые мы также рассмотрели в других главах. Освоение замыканий и итераторов является важной частью написания идиоматичного и быстрого кода на Rust, поэтому мы посвящаем им целую главу.