けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev:17655] the message: "[ruby-dev:17655] Re: block local var
[Re: substitution at when-clause]", on Jul/04 16:57(JST) Yukihiro
Matsumoto writes:

>まつもと ゆきひろです

>|Smalltalkはそういうのなかったとおもいますし, ないことで苦労した覚えは
>|ないですしね.
>
>[:a :b|...] とかはブロックローカルでない?
>無いってことはないと思う。

あ. それはブロックローカルです. 

>|ところで, ブロックローカル変数って何で必要なんでしたっけ?
>|スレッドのためかな? 
>
>あと、lambdaなどのクロージャのためですね。

うーん. そうかぁ...

メソッドでブロックを返せば良いというのでは, めんどうですかね...

In [ruby-dev:17656] the message: "[ruby-dev:17656] Re: block local var
[Re: substitution at when-clause]", on Jul/04 17:04(JST) Tanaka Akira
writes:

>> Smalltalkはそういうのなかったとおもいますし, ないことで苦労した覚えは
>> ないですしね.
>
>え、と思った探してみたところ、
>
>http://www.dnsmith.com/SmallFAQ/PDFfiles/LanguageQuestions.pdf
>
>という FAQ によればだいたいの実装にはあるようです。例も載っています。

[:arg ...| | lv ..| 

のことですね... Smalltalk-80の頃にはなかったですね(私の知識はそれをベー
スにしていますから(^^;;;)

そうするとブロックローカル変数の要望はそれだけ強いってことか...

あ. そうそう. 実際にSmalltalk(VisualSmalltalk3.1)で試してみましたが, 
ローカル変数とブロックパラメータ/ブロックローカル変数と名前が衝突する
とワーニングが出ますね.

__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju / rational.com <<---