<<<<<<< HEAD

関数型言語の機能: イテレータとクロージャ

Rustの設計は、多くの既存の言語やテクニックにインスピレーションを得ていて、 その一つの大きな影響が関数型プログラミングです。関数型でのプログラミングには、しばしば、 引数で渡すことで関数を値として使用したり、関数から関数を返したり、関数を後ほど使用するために変数に代入することなどが含まれます。

この章では、関数型プログラミングがどんなものであったり、なかったりするかという問題については議論しませんが、 代わりに関数型とよく言及される多くの言語の機能に似たRustの機能の一部について議論しましょう。

具体的には、以下を講義します:

  • クロージャ、変数に保存できる関数に似た文法要素
  • イテレータ、一連の要素を処理する方法
  • これら2つの機能を使用して第12章の入出力プロジェクトを改善する方法
  • これら2つの機能のパフォーマンス(ネタバレ: 思ったよりも速いです)

パターンマッチングやenumなど、他のRustの機能も関数型に影響されていますが、他の章で講義します。 クロージャとイテレータをマスターすることは、慣用的で速いRustコードを書く重要な部分なので、 この章を丸ごと捧げます。 =======

Functional Language Features: Iterators and Closures

The second edition of the book is no longer distributed with Rust's documentation.

If you came here via a link or web search, you may want to check out the current version of the book instead.

If you have an internet connection, you can find a copy distributed with Rust 1.30.

fork_master_master