developer tip

Ruby에서“잘못된 인수 개수 (0은 1)”가 무엇을 의미합니까?

copycodes 2020. 12. 8. 08:24
반응형

Ruby에서“잘못된 인수 개수 (0은 1)”가 무엇을 의미합니까?


"인수 오류 : 잘못된 인수 수 (0은 1)"란 무엇을 의미합니까?


함수를 정의 할 때 해당 함수가 작동하는 데 필요한 정보 (인수)도 정의합니다. 추가 정보없이 작동하도록 설계되고 일부를 전달하면 해당 오류가 발생합니다.

예 : 인수를 사용하지 않습니다.

def dog
end

인수를받습니다.

def cat(name)
end

이를 호출 할 때 정의한 인수를 사용하여 호출해야합니다.

dog                  #works fine
cat("Fluffy")        #works fine


dog("Fido")          #Returns ArgumentError (1 for 0)
cat                  #Returns ArgumentError (0 for 1)

이 모든 것을 배우 려면 Ruby Koans확인하십시오 .


인수를받지 않은 함수에 인수를 전달했습니다. 예를 들면 :

def takes_no_arguments
end

takes_no_arguments 1
# ArgumentError: wrong number of arguments (1 for 0)

나는 당신이 아무것도 취하지 않고 정의 된 인수로 함수를 호출했다고 가정합니다.

def f()
  puts "hello world"
end

f(1)   # <= wrong number of arguments (1 for 0)

인수가 하나 인 람다를 인수가 하나있는 함수로 변경하면이 오류가 발생합니다.

예를 들면 :

당신은 :

foobar = lambda do |baz|
  puts baz
end

정의를 다음과 같이 변경했습니다.

def foobar(baz)
  puts baz
end

그리고 당신은 당신의 호출을 다음과 같이 남겼습니다.

foobar.call(baz)

그리고 당신은 메시지를 받았습니다

ArgumentError: wrong number of arguments (0 for 1)

당신이 정말로 의미했을 때 :

foobar(baz)

참고 URL : https://stackoverflow.com/questions/7537450/what-does-wrong-number-of-arguments-1-for-0-mean-in-ruby

반응형