オブジェクト指向におけるFizzBuzz問題2

書き込みメソッドcount=が動かない問題解決。
aliasで別名にしたらちゃんと使えた。
メソッド自体は定義されていたが、そこにアクセス出来ていなかったようだ。
なので、self.count=とメソッドであることを明示すればこれでもOK。
読み出しメソッドのcountの方はそのままでも使えてるのは=がらみのparseの問題だからかな?

というわけで修正版(例によって後半の呼び出し部分は省略)

module Animal
  attr_accessor :count
  alias setcount count=
  def sound() puts voice*(count||1) end
end

class Dog
  include Animal
  def voice() 'わん' end
end

class Cat
  include Animal
  def voice() 'にゃー' end
end