rubycoさん

下記のようにブクマしてたらご本人からトラックバックを頂きました。

[ruby]if :Rubyco.object_id == :Rubyco.object_idはいいの?RubycoはオブジェクトだけどもRubyco.object_idはオブジェクトでないから?

http://d.hatena.ne.jp/rubyco/20060124/intern
rubyを自分でちゃんと勉強するようになった時にでも調べよう(試そう)と思ってたのですが、
思いがけずのトラックバックでびっくりしてます。

Rubyではすべてがオブジェクトだけども、値を比較する場合は==でよいのではとのことですね。

すみません。
この時(ブクマした時)自分の中で何に引っかかっていたのかがよく思い出せません。
多分、:Rubycoとした時点でシンボルが取れるから
そのシンボルの文字列の比較になるのかなぁと思ったから


if :Rubyco == :Rubyco
で、よいのではないかなぁと思ったのです。
rubyで文字列比較のeqがあれば、


if :Rubyco qe :Rubyco
Rubyのことよくわかってないのですが、
オブジェクトの比較ならば


if Rubyco.equal?(Rubyco)

で、よいのではないかと思ったり。
なので、:Rubycoがオブジェクトならば


if :Rubyco.object_id == :Rubyco.object_id

ではなく


if :Rubyco.object_id.equal?(:Rubyco.object_id)

になるのではないのかなと思いました。

こんな感じで考えてたので上記のようなブクマになったのだと思います。


if Rubyco.equal?(Rubyco)

これがオブジェクトの比較としてRuby的に間違っている、
と言うのであれば解決な気もします。

勉強日記というかメモの取り方間違ってることにも気づけました^^;