こんばんは。鈴木教郎です。

> From: WATANABE Hirofumi <eban / os.rim.or.jp>
> Date: Mon, 1 Nov 1999 01:09:14 +0900
>> Message-ID: <19991101010750.213788.eban / os.rim.or.jp>

> どうも変数を中心に考えているような印象を受けます.

たぶんそう考えているのだと思います。最初に変数が指す入れ物があって bar
= foo でそれぞれの変数が同じ入れ物を指す。bar に何かを入れると、その変
数が指している入れ物に代入されると考えていました。

# こお言うのをたぶん、オブジェクト指向でなかったと言うことですね。

自分なりにまとめると...

foo = "foo"
bar = foo

ここまでは、foo と bar は、"foo" というオブジェクトをさしている。

ここで "foo" オブジェクトを変化させる(upcase! や chop!)と、foo と bar 
の指すオブジェクト "foo" 自体が変化するので、変化が foo と bar の両方
に現れる。

# foo.upcase! は、foo を通して "foo" オブジェクトを操作する。

しかし、ここで

bar = "bar"

とすると bar は、*新たに* "bar" というオブジェクトを指す。よって、foo 
と bar の指すオブジェクトが異なる。

こおいう事でしょうか。
-- 
鈴木教郎
E-Mail: nosuzuki / e-mail.ne.jp