Rubyリファレンス: Home

== (Hash)

Edit   History

標準クラス・モジュール > Hash > ==

hash == other_hash

==演算子(メソッド)は、2つのハッシュが同じ内容を持つかどうか調べます。ハッシュの各キーと値を比較してすべて同じであればtrue、違いがあればfalseを返します。オブジェクトの比較には、==演算子が使われます。

2つのハッシュが別のHashオブジェクトであっても、内容が同じならtrueになります。「同じオブジェクトかどうか」を調べたいときは、equal?メソッドを使います。

hash1 = { :a => 1, :b => 2 }
hash2 = { :b => 2.0, :a => 1.0 }
puts hash1 == hash2
puts hash1.equal?(hash2)
true
false

!=演算子は、2つのハッシュが違えばtrue、同じならfalseを返します。!=Hashクラスで定義されているメソッドではありませんが、Rubyでは==が定義されていれば自動的に!=が使えます。

hash1 = { :a => 1, :b => 2 }
hash2 = { :a => 1, :b => "2" }
puts hash1 != hash2
true

関連項目