青山です。

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

> といっていることとかなり近いですよね。ということは、foo.e(i)
> が2回の評価で同じオブジェクト返したということが「参照している
> と言える」ことの要件だと主張しているに近い。この主張にも納得で
> きる所がありますが。

あ、いえ、これは回数ではなく、先の

Fri, Apr 16, 1999 at 06:03:30PM +0900 において
Shin-ichiro Hara さん曰く:

> このときオブジェクト foo は "obj1", "obj2" を参照していると
> 言っていいのでしょうか?参照している様にも見えるけど、単に参
> 照関係を横から見ているだけの様にも思えるし。

この横から見ているだけのようという事に対して、手も加えられるのだから、
やはり横から見ているのではなく、同じ立場で参照しているように思われると
いう意味での foo.e().concat() の例のつもりでした。

> > 上記のように語感の違い程度の差しか無いとは思いますが、長期間の場合、束
> > 縛と呼び、短期間の場合、参照と呼ぶとしっくりくるような感じはします。
> 
> 長期短期という事の定義がもう少し明確にできないでしょうか。
> 
> i = 0
> loop do
>   i += 1
> end
> 
> この i の束縛はかなり短期だけど、参照と呼ぶべきでしょうか?

ああ、なるほど。これは難しいですね。

語感の差としては、束縛はつなぎ止めるというような感覚がありますが、一方、
参照の場合は○○を参照というような一時的な、見るだけというような感じの
感覚があります。

p a

この場合、a の束縛しているオブジェクトを参照しているというような言い方
も出来そうですよね。先のコメントはそのような意味での foo.e() は参照と
いった方がしっくりきそうという発言です。

他の方の意見にもありましたが、参照には上記のような「○○を見る」という
意味に近いような感覚があるように思われます。

「束縛する」と「参照する」ではその差がよりはっきりとしますね。

foo = []
foo.push("bar")  # これは [] に "bar" を参照するのではなく、束縛する。
foo[0]           # これは [0] の "bar" を束縛するのではなく、参照する。

といった方が文章として自然ですよね。


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