0
配列の各要素を四角い配列に戻そうとしていますが、次のエラーが発生しますか?NoMethodError:nilのための未定義メソッド ` - ':NilClass
1) #square_array should square the elements in an array
Failure/Error: expect(square_array([9,10,16,25])).to eq([81,100,256,625])
NoMethodError:
undefined method `-' for nil:NilClass
# ./square_array.rb:3:in `block in square_array'
# ./square_array.rb:2:in `each'
# ./square_array.rb:2:in `square_array'
# ./spec/square_array_spec.rb:19:in `block (2 levels) in <top (required)>'
Finished in 0.03363 seconds (files took 0.30161 seconds to load)
ただし、2桁の数字の場合にのみ問題が発生します。次のRubyコードは配列= [1,2,3]で動作します。なぜ2桁の数字で動作しないのでしょうか?
def square_array(array)
array.each do |x|
array[x-1] = x ** 2
end
end
(ただしお勧めしません)、「練習はを反復処理を使用したい場合.eachメソッドを使用して配列を作成します。 –
ありがとうございました。 @ M.karim –
どうすればそれを受け入れることができますか?私はこの新しい@M.marimの新しいブランド –