読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

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?などの比較メソッドも実装されているようです。

# 「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