From: Tietew Date: 2003-08-26T10:54:53+09:00 Subject: [ruby-list:38259] Re: かみ砕いた説明をすべき範囲 On Tue, 26 Aug 2003 10:10:20 +0900 In article <20030826093638.E084.RECEIVER@k-brand.gr.jp> [[ruby-list:38256] かみ砕いた説明をすべき範囲] 西 啓一朗 wrote: > ども。西啓一朗@Ktouth Brand. です。 > 一度赤っ恥掻いたので、開き直ってこのまま議論に参加したいところですが(笑) > その前に確認したいことが。 > > ・数値、文字列、はては制御構造に至るまで、Rubyで表現できるものすべてがオ > ブジェクトである。 制御構造とメソッド,変数「そのもの」はオブジェクトではないと思い ます。例えば for「文」を変数に代入することができないように。 # 変数がオブジェクトである言語は,たとえば C++ があります。 その代わり,Method オブジェクトでメソッドを,Proc オブジェクトで プロシージャを,それぞれオブジェクト化できる仕組みを備えています。 > ・Fixnumは実装上の例外で、参照ではなくオブジェクトそのものを保持すること > になり、共有は出来ない。 実装を考えるとややこしくなります。Fixnum/Symbol/nil/true/false は実装レベルに降りると確かに即値ですが,言語モデル的には例外を (あまり)考えなくても良いようにできています。 Fixnum にしても,0, 1, 2, 3, ... と表現できる Fixnum オブジェク トが予め用意されていて,0 というリテラルはその予め用意された 0 オブジェクトを指す定数として捉えても何の問題もありません。 現状で表面化している例外は,それらのクラスのインスタンスには特異 メソッドが定義できないことと,clone(dup) できないことです。それ 以外で特に目立った違いはないと思います。 —[ Tietew ]—————————————————————————— メ : tietew@tietew.net / tietew@raug.net / tietew@masuclub.net ホペ: http://www.tietew.net/ Tietew Windows Lab. http://www.masuclub.net/ 鱒倶楽部 指紋: 26CB 71BB B595 09C4 0153 81C4 773C 963A D51B 8CAA