[Ruby] ArgumentError의 본질보기
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는 "인수의 수가 맞지 않아요"라는 오류입니다.
메소드를 정의하고 있는 개소의, 실인수·가인수를 확인해 봅시다!
Reference
이 문제에 관하여([Ruby] ArgumentError의 본질보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yait/items/444061a7decb3f7fd627
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def test(number)
puts number * number
end
test(5)
ArgumentError는 "인수의 수가 맞지 않아요"라는 오류입니다.
메소드를 정의하고 있는 개소의, 실인수·가인수를 확인해 봅시다!
Reference
이 문제에 관하여([Ruby] ArgumentError의 본질보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yait/items/444061a7decb3f7fd627텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)