現在CODEPREPというサイトでRubyの学習を行なっています。
(現在のブック:Ruby演習 配列・Hash・Class編)
現在の課題で書いたプログラムが以下のようになっていますがどこを直せば良いのかわかりません。
アドバイスをください。
演習内容
クラスを継承する
Arrayクラスを継承したMyArrayクラスを実装しましょう。
MyArrayクラスにはインスタンスメソッドmultiplyを実装しましょう。
-----実装内容-----
Arrayを継承したMyArrayを実装する
MyArrayにインスタンスメソッドmultiplyを実装する。
multiplyメソッドは引数に整数nをとり、MyArrayの全ての要素をn倍して返すメソッドです。
Ruby
1class Array 2end 3class MyArray < Array 4 def initialize(array) 5 @ary=array 6 end 7 def multiply(n) 8 s=@ary.map{|i|i*n} 9 return s 10 end 11 attr_accessor :ary 12end
実行例は以下のようになるそうです。
Ruby
1my_array = MyArray[1, 2, 3, 4] 2p my_array.class.superclass 3# => "Array" 4 5p my_array.multiply(5) 6# => [5, 10, 15, 20]
おそらく最初の@aryに配列を入れられない状態だと認識している?のですが
修正方法がわかりません。どなたかアドバイスをください、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー