オブジェクト指向における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