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)
하지만 두 자리 숫자 일 때만 문제가 발생합니다. 다음 Ruby 코드는 배열 = [1,2,3]에서 작동합니다. 왜 두 자리 숫자로 작동하지 않을까요?
def square_array(array)
array.each do |x|
array[x-1] = x ** 2
end
end
(하지만 권장하지 않음) "연습은 반복을 사용하려면 각 .each 메서드를 사용하여 배열을. " –
정말 고마워요. @ M.karim –
어떻게 받아 들일 수 있습니까? 메신저는이 새로운 @ M.karim에 –