ホームページ  >  記事  >  閉鎖とは何ですか

閉鎖とは何ですか

藏色散人
藏色散人オリジナル
2019-08-03 09:17:169175ブラウズ

閉鎖とは何ですか

#クロージャとは何ですか?

コンピュータサイエンスにおいて、クロージャ(英語: Closure)は、字句クロージャ(Lexical Closure)または関数クロージャ(Function Closure)とも呼ばれ、自由変数を参照する関数です。参照された自由変数は、関数が作成された環境を離れた後も関数とともに残ります。

つまり、クロージャは関数とそれに関連する参照環境で構成されるエンティティである、という別の言い方もあります。クロージャは実行時に複数のインスタンスを持つことができ、異なる参照環境と同じ関数の組み合わせによって異なるインスタンスが生成されることがあります。

クロージャの概念は 1960 年代に登場し、クロージャを実装した最も初期のプログラミング言語は Scheme でした。それ以来、クロージャは ML や LISP などの関数型プログラミング言語で広く使用されるようになりました。多くの命令型プログラミング言語もクロージャーをサポートし始めています。

一部の言語では、関数内に別の関数を (ネストして) 定義できる場合、内部関数が外部関数の変数を参照すると、クロージャが発生することがあります。実行時に外部関数が実行されると、内部関数のコードと必要な外部関数の変数への参照を含むクロージャが形成されます。参照される変数は上位値と呼ばれます。

クロージャという用語は、匿名関数とよく混同されます。これは、この 2 つが一緒に使用されることが多いためかもしれませんが、異なる概念です。

以上が閉鎖とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。