rubykansaiくんのつぶやき (オブジェクトの比較の巻)
他の言語といっしょで == で比べられるで。1 == 1 # => true # あたりまえやけど等しいな。 #rubykansai
2011-09-21 19:17:36さっきの == は Fixnum のメソッドなんや。1.respond_to?(:==) # => true #rubykansai
2011-09-21 19:19:24String でもできるわ。あたりまえやわな。"Ruby関西" == "Ruby関西" # => true #rubykansai
2011-09-21 19:21:45respond_toてなんですか? RT @rubykansai: さっきの == は Fixnum のメソッドなんや。1.respond_to?(:==) # => true #rubykansai
2011-09-21 19:24:11respond_to? したら、そのオブジェクトにメソッドがあるかどうか教えてくれるんやで。RT @satomicchy: respond_toてなんですか?
2011-09-21 19:27:391 == 1.0 # => true # Fixnum と Float でも値がいっしょやったら等しいねん。 #rubykansai
2011-09-21 19:30:16ちなみに 0.1 + 0.2 == 0.3 # => false # これが等しくならんのは別の問題やで。 #rubykansai
2011-09-21 19:32:58eql? いうメソッドもあるんやで。"Ruby関西".eql? "Ruby関西" # => true #rubykansai
2011-09-21 19:34:56equal? いうメソッドもあるんや。"Ruby関西".equal? "Ruby関西" # => false #rubykansai
2011-09-21 19:36:53値が同じでも違うオブジェクトやったら equal? は false を返すんや。["Ruby関西".object_id, "Ruby関西".object_id] # => [2151888700, 2151888680] #rubykansai
2011-09-21 19:37:48=~ いうメソッドは正規表現のマッチや。/ruby/i =~ "Ruby関西" # => 0 #rubykansai
2011-09-21 19:39:52戻り値が true でも false でもないって? Ruby では false と nil 以外は全部「真」やで! /php/ =~ "Ruby関西" # => nil #rubykansai
2011-09-21 19:40:45そんな使い方したことないって? みんな直接 === は書けへんやろうけど case の when が === 使ってるんやで。 #rubykansai
2011-09-21 19:45:42