BlockClosureのインスタンス(前の回答をみればわかりますね。日本向けに甘くしています)
Blockは一連の処理(アルゴリズム)をオブジェクトとしてみたてたもの。任意の処理を[]で括ると、それが処理オブジェクトになる。
例:
add := [ 3 + 4 ]."3+4を行うaddというオブジェクトを作る"
add value."addを起動する".
add value."何度でも起動できる"
例2:
cal:= [ :r | r * r * 3.14] "引数着きブロックオブジェクトを作る"
cal value: 10. "calを起動する"
cal value: 5."何度でも起動できる"
JavaではInnerClassを使うことでBlockと似た処理を行わせることができる。