クロージャ
オブジェクト(またはファーストクラスのデータ構造)として表すことができ、レキシカルスコープを参照してコードの流れに問題なく配置できるコードのブロック。
ラムダ、ブロック、または匿名関数とも呼ばれます。
オブジェクトのコレクションがあり、それらをさまざまな方法でフィルタリングしたいとします。各フィルタにメソッドを作成すると、フィルタの設定と処理に重複が生じます。
クロージャを使用することで、フィルタの設定と処理をファクタリングし、各フィルタ条件に対して任意のコードブロックを渡すことができます。
詳細については、DSLの第37章を参照してください。