Ruby 初心者スレッド Part 52
■ このスレッドは過去ログ倉庫に格納されています
0587デフォルトの名無しさん
2013/10/04(金) 02:29:33.64もしよければ助けてください。Rubyは2.0.0、OSはMac OSX(10.8.5)です。
同書で「クラスからインスタンスを作成する」という話で、こんな例が出てきます(p. 14)。
まずはクラスの定義(書いてあるとおりに実行しました)。
irb(main):001:0> class Dog
irb(main):002:1> attr :breed,:color,:name
irb(main):003:1> def initialize(name,color,breed)
irb(main):004:2> @name,@color,@breed = name,color,breed
irb(main):005:2> end
irb(main):006:1> def bark(volume=:softly)
irb(main):007:2> make_a_ruckus(volume)
irb(main):008:2> end
irb(main):009:1> end
で、オブジェクトを生成します。
irb(main):010:0> my_dog = Dog.new('Rover',:brown,'Cocker Spaniel')
ここまではうまくいったのですが、その続きに、
my_dog.bark #この場合は犬はsoftlyに鳴く
と書いてあったので実行してみたところ、NoMethodErrorで「make_a_ruckusが定義されていない」と言われてしまいます。
このmake_a_ruckusなる部分が何なのかよく分からず(コードを見る限り、barkメソッドの定義に含まれてますよね)、途方に暮れています。
何か対処法があれば教えていただけませんでしょうか。
■ このスレッドは過去ログ倉庫に格納されています