In message <199802040803.RAA24375 / picachu.netlab.co.jp> matz / netlab.co.jp (Yukihiro Matsumoto) writes: > | ....で, `1' とかの数値は実は評価すると 1 という数値のインスタンスを > | 生成するもので, 1.succ! としても `1' は `1' ....っていうのも言いまし > | たけど, だめでしょうか? > > おっしゃることはわかります.が,Rubyの場合,それは > > pi = Math::PI > pi2 = pi > pi++ > > で,pi == pi2 == Math::PI == 4.141592 になるようなモデルを意 > 味するような気がするんですけど.違いますか? それはそれで使 > いにくそう. そうならないように, 最初「数値定数は」と書いたものを「数値は」と書き 換えたんですが. ようするに immutable object は評価すると必ずコピーを 返す. # ちなみに実数の succ というのはもともと自然に定義できないから考えて # いなかった. いや, 便宜的に「定義」はできるけど. ....ところで数値以外の immutable object って, なんかありましたっけ? > もうひとつ,Fixnumは即値である,という理由もあります. まえは「Fixnum が即値である事と, モデルとしてこんな事を考えるのは別 に矛盾しない」と言っていたのに (^^? # 別スレッドの話ですけど, i++ と i += 1 でコストが 5 倍違っていたら, # プログラム全体では結構な違いになりそうですが....と思ったら, 987 行 # のスクリプト中に 15 しかなかった.... =========================================================================== 柳川 @ 情報システム学研究科 . 電気通信大学 katze / yuba.is.uec.ac.jp February 5th, 1998. # He knows most who speaks least.