前田です。

At Thu, 8 Apr 1999 16:53:28 +0900,
TAKAGI, Hiromitsu <takagi / etl.go.jp> wrote:
> > 例えば1 + 2という式の値は3というオブジェクトそのものであって、3とい
> > うオブジェクトへの参照ではないような気がします。
> 
> 「1 + 2という式の値は3というオブジェクトそのもの」と言うと、
> 「7 - 4という式の値は3というオブジェクトそのもの」の「3というオブジェクト」
> とは常に別のオブジェクトになるみたいに誤解されたりしないでしょうか。

逆に、高木さんの

> > 「式を評価した結果」である「値」も(オブジェクトへの)参照(「reference」)
> > ですよね。そして変数はそれを保持しているだけと。

というモデルに従うと、「1 + 2という式の値」と「7 - 4という式の値」
は異なるということになりますよね。
私の感覚的には両者は同じものであって欲しいんですが、「すべての数
値は世界でただ一つしかないオブジェクト」という考え方にどっぷりつ
かっているせいかもしれません。

> 数値の場合に、「値」をオブジェクトと同義に考えたくなるのはわかりますが、
> 多数のフィールドを持つオブジェクトも「値」と呼ぶのかしら…。

少なくともRubyにおいて「式の値」とか「変数の値」という場合には、
すべてのオブジェクトが値になりうるのではないかと思います。

実際に計算機上で起こっていることを考えるとそぐわない部分もあるか
もしれませんが、モデル的には上記の考え方でうまくいくんじゃないか
なあ...。

-- 
前田 修吾