クロージャ単語

クロージャ

クロージャ(closure: 関数閉包)とは、実行時の文脈で部分特殊化された関数オブジェクトのこと。引数付きで動的生成された関数オブジェクトといっても良いかも知れない。

似た名前にClojureというプログラミング言語があるが、関数型プログラミングを通じてつながりはあるものの、ClojureにとってClosureが最重要な要素というわけでもなく紛らわしい。

 概要

手続き型言語の感覚では、関数というものはメモリ間上でスタティックに居座るコード塊のことをす。

それに対して関数型言語(schemeとか)や、コードブロックそれ自体もオブジェクトとして認識できるタイプオブジェクト指向(SmalltalkやRuby)の場合、例えば引数2つの関数func(A,B)があったとして、「funcの最初の引数に値1729を渡す1引数関数」(func2(C) = func(1729,C))を生成できる。

こういう作られた時点での情報を「閉じこめた」関数をクロージャ(closure)という。

副作用ありの言では、クロージャで閉じこめた情報を自分で書き換えたりできるため、カプセル化の代わりで使ったりもする。

関連項目

【スポンサーリンク】

スマホ版URL:
https://dic.nicovideo.jp/t/a/%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

クロージャ

1 スーパーななし
2012/06/22(金) 19:04:33 ID: lBWKivR5J8
へぇ ほぉ

急上昇ワード