青山です。

Sat, Apr 17, 1999 at 02:25:12AM +0900 において
Shin-ichiro Hara さん曰く:

>   c = Object.new
>   def c.[](x); x; end
> 
> とするとき、c はすべてのオブジェクトを参照していると、そう呼んで良
> いかどうか。

だめでしょう。

c#[] は手続きであり、オブジェクトではありませんから。メソッドは手続き
であり、c はすべてのオブジェクトを受け付けてそのまま返す [] という名前
のメソッドを持っているという感じでしょうかね。(いえ、もちろん、もしか
すると手続きも内部では Proc オブジェクトとして保持しているのかもしれま
せんけれど)

p c["foo"]

この場合 "foo" は生成されますが、c はそれを束縛(参照)しませんよね。


-- 
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>