クロージャ

オブジェクト(またはファーストクラスのデータ構造)として表すことができ、レキシカルスコープを参照してコードの流れに問題なく配置できるコードのブロック。

ラムダ、ブロック、または匿名関数とも呼ばれます。

オブジェクトのコレクションがあり、それらをさまざまな方法でフィルタリングしたいとします。各フィルタにメソッドを作成すると、フィルタの設定と処理に重複が生じます。

クロージャを使用することで、フィルタの設定と処理をファクタリングし、各フィルタ条件に対して任意のコードブロックを渡すことができます。

詳細については、DSL第37章を参照してください。

DSLカタログ