From: UENO Kazuaki Date: 2000-10-14T00:29:25+09:00 Subject: [ruby-list:25440] Re: equal?ity of object by object type こんばんは、元記事の上野です。 > From: "Yukihiro Matsumoto" Sent: Friday, October 13, 2000 8:12 AM > あ、Numeric#cloneがcloneしないからですね。 > した方が良いのかなあ。 4章まで進みましたが、いまだ全くのRuby初心者なので、Rubyの発想と 相容れないかもしれないので読み流していただいて結構ですが、そういう 私としては 1. リテラルは全てオブジェクトそのもの。すなわち: > f1=10; f2=10; f1.equal?(f2) true > b1=9999999999999999; b2=9999999999999999; b1.equal?(b2) true > s1="abc"; s2="abc"; s1.equal?(s2) true # -fno-writable-strings ですね。 2. リテラルは全てオブジェクトへの参照: 上記全てfalse 3. 数値は全てオブジェクトそのもの > f1=10; f2=10; f1.equal?(f2) true > b1=9999999999999999; b2=9999999999999999; b1.equal?(b2) true > s1="abc"; s2="abc"; s1.equal?(s2) false > f3=f1.clone; f1.equal?(f3) true > b3=b1.clone; b1.equal?(b3) true > s3=s1.clone; s1.equal?(s3) false # Common Lisp的? の順で好みです。しかし、たぶんいずれにしても(もちろん現在のままでも) コーディング上ほとんど差異はなさそうな気がしますので、元々引っかかる 必要はなかったのかもしれません。失礼しました。 -- UENO Kazuaki (MSN Messenger: kazuau@hotmail.com)