Python や JavaScript では
>>> class Country: ... pass ... >>> japan = Country() >>> japan.capital = "Tokyo" >>> japan.capital 'Tokyo'
みたいな書き方ができるのだけれど(いわゆる「アトリビュート」)、Ruby ではこういう書き方はないのかなと思っていました。
けれども標準添付ライブラリの OpenStruct クラスで簡単にできるのですね。
irb(main):001:0> require 'ostruct' => true irb(main):002:0> class Country < OpenStruct irb(main):003:1> end => nil irb(main):004:0> japan = Country.new => #<Country> irb(main):005:0> japan.capital = "Tokyo" => "Tokyo" irb(main):006:0> japan.capital => "Tokyo"
なるほど、これは便利。