From: Shin-ichiro Hara Date: 1999-04-09T18:26:29+09:00 Subject: [ruby-list:13551] Re: Ruby and LISP ( was Re: Ruby anywhere ) 原です。 In message "[ruby-list:13544] Re: Ruby and LISP ( was Re: Ruby anywhere )" on 99/04/09, Wakou Aoyama writes: | |青山です。 |名前付きの紐(変数)はスコープがもって、それ以外(無名の紐)はオブジェクト |が持つというのはどうでしょう。 | |スコープは部屋のようなもので、その部屋で生まれた紐はその部屋に結ばれて |いるという感じで。 | |value = ["a", ["b", "c"]] | |value という名前の紐はその value が生まれた部屋につながれていて、value |が刺している [] には "a", [] に刺さっている無名の紐が。さらにその [] は |"b", "c" に刺さっている紐が。と。 なるほど。 それで思い出したのだけど、「変数のバインド」というのと「オブジ ェクトへの参照」という問題です。両者を区別しなくてはならない。 そして後者の問題を簡単に言うと オブジェクトを参照するのは変数なのかオブジェクトなのか? という問題です。 「変数がオブジェクトを参照する」という言葉使いは一般的になさ れていると思いますが、例えばオブジェクト ["a", ["b", "c"]] は 中にある ["b", "c"] を参照していてしかもインスタンス変数など はどこにも現れない。変数でなく、いわば Array のメソッド [](i) が参照しているわけですね。私は ruby においては 変数はオブジェクトを参照しない。オブジェクトを参照するのは オブジェクトのみである。 というモデルでいけるのではないかと思うのですが、どうですかね。