ブロック式

ブロック文は、手順を式として渡すための表現です。ブロック文を使うことで、匿名手順を定義できます。

書式

『【プログラム】』

【プログラム】 文を書き連ねたプログラム

 

文は、「こんにちは」を表示する文を実行する

ブロック式の有効範囲

ブロック式の有効範囲は、こちらで説明しています。

匿名手順とクロージャ

プロデルのブロック式は、実行時に評価されると「匿名手順」種類のオブジェクトとなります。このオブジェクトの「実行する」手順が実行されたときでも、ブロック式が書かれた場所の有効範囲が適用されます。

例文

例えば、次のプログラムでは「閉包処理を実行した」時には「クロージャを生成する」手順にある「A」変数の有効範囲が適用されます。

つまり、本来は「クロージャを生成する」手順で宣言した「A」変数は、手順が終わると使えなくなりますが、ブロック式を書いて、匿名手順にすることで、手順が終わった後でも「A」変数を使えるようになります。

クロージャを生成して、閉包処理とする

5回、繰り返す
  閉包処理を実行して報告する
そして

クロージャを、生成する手順
  【A】=0
  『A=A+1。Aを返す』を返す
終わり

このように、ブロック式を使うことによって、本来の変数の有効範囲を超えて変数を使える仕組みを一般にクロージャと呼びます。

ページ先頭へ