[ << 付表 ] | [Top][Contents][Index] | [ カンニング ペーパー >> ] |
[ < callback (コールバック) ] | [ Up : 技術用語集 ] | [ glyph (グリフ) > ] |
closure (クロージャ)
Scheme では、クロージャ (closure) は関数 (通常はラムダ式) が変数として渡された際に作られます。クロージャは、関数のコードと共に、関数における自由変数 (つまり、関数の中で使われているが、関数の外で定義されている変数) の静的束縛 (lexical binding) への参照が含まれます。この関数が異なる引数で再度呼ばれた際、クロージャで捕捉された自由変数の束縛が、 計算で使用される自由変数の値を得るために使われます。クロージャの便利な性質の一つは、内部変数の値を複数の呼び出しの間で保持できることです。これにより、状態を保存することができます。