Structクラス

プログラムしていると、いくつかの変数をまとめたいことがある。

今までは、こんな風に書いていた。

class Foo
   attr_reader :name1,:name2,:name3
   def initialize(name1,name2,name3)
      @name1 = name1
      @name2 = name2
      @name3 = name3
   end
end

でも今日、たまたまStructクラスを見つけた。これを使うと、

Foo = Struct.new('Foo',:name1,:name2,:name3)

と簡単に書ける。