クラスを宣言するときに Struct.new を継承する、というやり方がある。
いわゆる「特異クラス」?
c:\>irb irb(main):001:0> class Hoge < Struct.new(:a,:b); end => nil irb(main):002:0> h = Hoge.new => #<struct Hoge a=nil, b=nil> irb(main):003:0> h.a = 10 => 10 irb(main):004:0> h.b = 20 => 20 irb(main):005:0> h => #<struct Hoge a=10, b=20> irb(main):006:0>
attr_accessor よりお手軽?