[Ruby] ArgumentError의 본질보기

2275 단어 루비초학자용

ArgumentError



Argument는 "인수"라는 의미입니다.
ArgumentError는 "인수의 수가 맞지 않아요"라는 메시지가 됩니다.
다양한 경우를 생각할 수 있으므로,
본질적인 기초 부분을 예로 생각해 가려고 생각합니다.

wiki에서 "Ruby를 대화식으로 실행 (REPL)하기위한 쉘"이라고 소개되었습니다
irb를 사용합니다.

아래의 실제 인수와 임시 인수를 사용하는 코드는 irb에서 실행됩니다.
def test(number)
  puts number * number
end

test(5)


test 인수에 (5)를 설정하고 임시 인수 (number)에 값을 전달하면,
25라는 결과가 출력되었습니다.

그런 다음 실제 인수없이 test를 실행해 보겠습니다.


그러면 오류가 발생했습니다.


오류 메시지를 번역하면 다음과 같습니다.

컴퓨터가 이렇게 말합니다.
「인수가 1개 있는 것을 기대했는데, 0이었어」
인수가 하나 부족하네요.

그럼 이번에는 실인수의 수를 2개로 해 실행해 보겠습니다.


또한 오류입니다.


이번에는 이렇게 말합니다.
「인수가 1개 있는 것을 기대했는데, 2개였어」
한 개 많다고 화내고 있습니다.

실인수(5, 6)를 2개 보내려고 해도, 받는 측의 가인수(number)의 수가 1개라면 잘 안 되는군요.

요약



ArgumentError는 "인수의 수가 맞지 않아요"라는 오류입니다.
메소드를 정의하고 있는 개소의, 실인수·가인수를 확인해 봅시다!

좋은 웹페이지 즐겨찾기