인수를 반환하는 함수의 이름?


34

아무것도하지 않고 인수를 취하지 않고 아무것도 반환하지 않는 함수를 전통적으로 noop, 또는 no-op 라고합니다 . noop의 예는 다음과 같습니다.

function noop(){}

http://en.wikipedia.org/wiki/NOP

그렇다면 인수를 반환하고 다른 작업을 수행하지 않는 함수의 이름이 있습니까? 이런 종류의 기능의 예 :

function(a){return a}


17
가까운 투표자에게 : 이것은 의견 기반의 질문이 아니며 결정적인 답변이 있습니다.
Daenyth

@Daenyth "일반적으로 통과 (pass-through)라고도합니다" – 아마도 그다지 명확하지는 않습니다
gnat

2
@gnat 통과를 참조하는 데 사용되는 메소드 의 파라미터 또는 어떤 상위 메소드가 복귀를 변경하지 않고 상위 메소드를 호출 서브 클래스이다. 그러나 슈퍼 메소드는 전혀 또는 전혀 다른 것을 반환 할 수 있습니다. 전달 된 것과 동일한 것을 반환하는 것은 통과 정의의 일부 가 아닙니다 . 그렇다면 특정 부모 메서드가 그렇게하기 때문입니다. 실제로 전달 된 것과 동일한 값만 반환하는 OO 클래스 메서드는 매우 드 rare니다.
itsbruce

4
@Snowman 정보가없는 진술입니다. 주어진 입력에 임의의 작업을 수행 할 수있는 함수를 반환 할 수있는 고차 함수를 지원하는 모든 언어에서 경우에 따라 입력을 변경하지 않는 함수를 반환하는 것이 매우 유용합니다. 키워드 대신 함수로 제어 플로우를 작성할 수 있습니다. (차이 목록의 경우와 같이) 복합 함수를 만들기 위해 목록 (또는 다른 구조)을 접을 때 항등 함수는 종종 자연적인 시드 값입니다.
itsbruce

답변:


65

이것을 신분 함수 라고하며 때로는 id범주 이론 및 기능적 프로그래밍 언어에서와 같이 약어로 표시 됩니다.


4
대부분의 프로그래머는이를 알기위한 공식적인 배경 지식이나 기능적 프로그래밍 지식이 없습니다. 일반적으로 통과 (pass-through)라고도합니다.
Telastyn

5
나는 많은 공식 수학을 해왔지만 어떤 이유로 나는 이것을 보았고 얼굴을 until 때까지 대답을 기억하지 못했습니다.
Ixrec

5
@Telastyn 그리고 Java 8 에서는 여전히 "identity"라고 불립니다. 이름이 수학 / 기능적 배경에서 벗어나 표준이되었습니다.
이즈 카타

3
과연. 그리고 그것이 용어에 대한 널리 퍼진 인식과 결합 된 공식적인 뿌리를 가지고 있다는 사실은 임의의 언어 별 전문 용어보다 더 유용합니다.
itsbruce

11
@Telastyn "pass through"는 거의 항상 매개 변수를 변경하지 않고 부모의 메서드를 호출하는 메서드를 참조하는 OO에서 거의 항상 사용됩니다. OO 메소드는 종종 인수가 아닌 아무것도 반환하지 않거나 완전히 다른 무언가를 반환하기 때문에 ID 함수의 개념보다 더 구체적이고 제한적입니다. 따라서 pass-through는 super 메소드와 동일한 것을 리턴하지만 원래 인수를 리턴 할 필요는 없습니다. 이것들은 다른 것입니다.
itsbruce
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.