Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Возможности функциональных языков: итераторы и замыкания

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

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

Если точнее, мы рассмотрим:

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

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