From: gotoken@... (GOTO Kentaro) Date: 1999-04-19T09:08:28+09:00 Subject: [ruby-list:13862] Re: What is Object in Ruby? (Re: Ruby and LISP) ごとけんです In message "[ruby-list:13861] Re: What is Object in Ruby? (Re: Ruby and LISP)" on 99/04/19, Shin-ichiro Hara writes: >|(1)変数の束縛 >| >|var = "obj" とするとき、変数はオブジェクト "obj" に「束縛 >|された」といいます。逆にいえば、オブジェクト "obj" は変数 >|var を束縛する。 > >後者のオブジェクトを主語にする言い方はあまり使わないかな。 >「変数 var をオブジェクト "obj" に束縛する」と言うのが普通 >ですかね。主語はユーザーか「環境」か。 うーん、そういえば、この場合の "obj" は目的語ですね。主 語はしいていえばユーザーかなぁ。いうなれば「束縛する」と いう他動詞の受動態ではなくて、「束縛される」という自動詞 のような気もします。 >あと「参照」の日常の言葉使いですが、変数やメソッドを「評価」 >した結果について使うことがあるのを忘れていました。例えば、 > > メソッド []=, [] は単なるメソッドであるからどう定義し > ようともかまわないが、前者はしばしばオブジェクトの保存 > という副作用のために定義され、[] は単なる参照として定 > 義されることが多い。 > >みたいに、まさに「見てるだけ」という意味で「参照」を使う >こともありそうですね。もちろん見てるだけなのは [] メソッ >ドの返り値についてではなく [] のレシーバの状態です。 ふとマニュアルを見てみるとすべて「見る」の意味ですね。と くに「メソッドを使う」と並ぶような使い方で「変数を見る」 という感じ: `$'で始まる変数はグローバル変数で,プログラムの どこからでも参照できま す.グローバル変数には宣言は必要ありま せん.初期化されていないグローバ ル変数を参照した時の値は nilです.[syntax.html#gvar] また「参照できる」とか「参照した」という表現はありますが 様相を表す「参照している」という表現はないようです。また、 参照をポインタのような意味で使ってるのは glossary.html の 即値,Immediate Value 参照ではなく,実際の値が変数に格納さ れるもの.Rubyの現在の実装 ではFixnumとnil/true/falseだけが即 値である.しかし,Fixnumが即 値でないRubyの実装があっても構わ ないし,モデル上全ての値がオブ ジェクトへの参照であると考えて も差し支えない. だけのようです。まぁこれは Ruby を知らない人向けのドキュ メントであることを考えれば、 Ruby に即した用法でないとみ なすこともできますね。 >うーむ、非常に混乱しやすい。 でしょでしょ :-) 原さんが参照という言葉を使わずに済ませるのは困難と感じる 状況はどんなのでしょうか?? そちらを分析した方が話が早い のではないかと思います。 -- gotoken