まくろぐ

無名サブルーチンとクロージャ

更新:
作成:

『初めての Perl 第3版』より

クロージャ (closure) は非常に強力な概念で、Lisp の世界から持ってきたものです。クロージャとは、(荒っぽい言い方をすれば)自分自身のプライベートなデータを持っている無名サブルーチンです。

『続・初めての Perl』より

その時点で存在するすべてのレキシカル変数に、宣言された時点からアクセスできるサブルーチンをクロージャ (closure) と呼びます(クロージャは、もともとは数学用語です)。

例えば、以下の callback サーブルーチンは、レキシカル変数 $count を参照するクロージャといえます。

my $count = 0;
sub callback { ++$count; }

関連記事

まくろぐ
サイトマップまくへのメッセージ