Struct
簡単なモデルクラス(JavaにおけるJavaBean的なモノ)を作りたい場合、Structが便利です。
# 構造体クラスの作成 Kitten = Struct.new(:age, :name) # 構造体オブジェクトの作成 mii = Kitten.new( 1, "mii" ) # 属性の参照 puts mii.name puts mii.age # 属性の設定 mii.age = 2 puts mii.name puts mii.age
実行結果です。
mii 1 mii 2
# 「eql?」などの比較メソッドの結果を表示する。 def print_equals_result( a, b ) puts <<-OUT == : #{a == b} === : #{a === b} eql? : #{a.eql?(b)} equal? : #{a.equal?(b)} hash : #{a.hash}/#{b.hash} OUT end # 同じ puts "\n---same" print_equals_result( Kitten.new( 1, "mii" ), Kitten.new( 1, "mii" ) ) # 違う puts "\n---not same" print_equals_result( Kitten.new( 1, "mii" ), Kitten.new( 2, "mii" ) )
実行結果です。
---same == : true === : true eql? : true equal? : false hash : -137738324/-137738324 ---not same == : false === : false eql? : false equal? : false hash : -137738324/-137738336