正木です。 Subject: [ruby-dev:17716] Re: self in block From: matz / ruby-lang.org (Yukihiro Matsumoto) Date: Fri, 19 Jul 2002 16:40:17 +0900 ||逆に新しい仕様ではすべての local 変数を block 内 local 変数にする。正確には: ||object.method(){<x,...> ...} ||の形のときは local 変数の scope は block 内に限定される。 ||self はこれを呼び出した object を指す。 |最近では {<x,..> ..} ではなく「ちゃんとした」無名関数を導入 |するべきではないだろうかという気になってきてます。 無名関数を導入することには大賛成ですが、その場合の self は無名関数自身を 指すのが自然です。block の新仕様に期待するものとは少しずれるので、block の新しい仕様の方も是非実現して欲しいと思います。 (block の形の方が使いやすい気もします。) 自己言及の方法をたくさん用意することは、Ruby の可能性を広げる意味で決して 無駄ではないと思います。