매개변수와 인수의 차이점은 무엇입니까?
3709 단어 rubyrailsprogrammingbeginners
최근까지 저는 팀의 다른 소프트웨어 개발자와 대화하고 페어링할 때 매개변수와 인수를 상호 교환적으로 사용했습니다.
매개변수와 인수는 같은 것이 아니지만 유사합니다.
저와 같은 부끄러운 실수를 하지 않도록 차이점을 파헤쳐 보겠습니다.
매개변수 대 인수
매개변수는 함수 정의에 정의된 변수입니다. 함수가 호출될 때 전달할 것으로 기대하는 변수입니다. 이 매개변수는 함수의 나머지 부분에서도 사용할 수 있는 변수를 정의합니다.
인수는 함수를 호출할 때 함수에 전달하는 값입니다. 인수는 함수에서 매개변수 변수의 값을 결정합니다.
여전히 비슷하게 들릴 수 있으므로 여기에 코드가 포함된 예가 있습니다.
def adder(x, y)
x + y
end
adder
함수는 x
및 y
2개의 매개변수를 사용합니다.그런 다음
adder
함수를 호출하고 2개의 인수를 전달할 수 있습니다.>>> adder(2, 3)
5
인수
2
및 3
를 전달했으므로 함수의 본문이 실행되고 매개변수를 우리가 제공한 인수로 대체합니다.키워드 인수 작동 방식
Ruby를 포함한 많은 프로그래밍 언어를 사용하면 특정 키워드로 매개변수의 이름을 지정할 수 있습니다.
이것은 여러 가지 이유로 유용합니다.
함수를 호출하고 인수를 전달할 때 함수는 인수의 순서에 따라 달라집니다.
예를 들어 함수가 대신 빼기 또는 나누기와 같은 작업을 수행하는 경우 인수의 순서가 중요합니다.
예를 들어 인수
divider(0,1)
를 사용하여 아래 함수를 호출하면 결과는 0이 되지만 순서를 바꾸면 함수에서 예외가 발생합니다. (안타깝게도 0으로 나눌 수 없습니다...)def divider(x, y)
x / y.to_f
end
키워드 인수를 사용하면 어떤 매개변수가 어떤 매개변수인지 더 명확하게 지정할 수 있으며 함수를 호출하고 인수를 전달할 때 순서는 더 이상 키워드 인수에 중요하지 않습니다.
방법을 다음과 같이 변경하면:
def divider(numerator:, denominator:)
numerator / denominator.to_f
end
그런 다음 이 메서드를 호출하려면 키워드를 포함해야 합니다.
>>> divider(numerator: 0, denominator: 1)
0
매개변수에 이름이 지정되어 있기 때문에 예외를 발생시키지 않고 순서를 바꿀 수도 있습니다.
>>> divider(denominator: 1, numerator: 0)
0
테이크아웃
나는 대부분의 팀이 매개변수와 인수의 차이를 모른다고 장담합니다.
미묘한 차이가 있지만 몇 가지 예를 보면 이해하기 쉽습니다.
매개변수는 함수가 취할 내용을 알려주고 인수는 함수를 호출할 때 함수에 전달하는 값입니다.
매개변수는 변수 이름과 같으며 인수는 값이 무엇인지 알려줍니다.
매개변수와 인수의 순서가 중요합니다. 그러나 키워드 인수를 사용하여 순서를 불필요하게 만들고 함수를 호출할 때 인수의 이름을 보다 명확하게 지정할 수 있습니다.
Reference
이 문제에 관하여(매개변수와 인수의 차이점은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nicholasdill/whats-the-difference-between-a-parameter-and-an-argument-3lhn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)