문제

결과가 인수 값에만 의존하는 경우 기능 호출을 최적화 할 수있는 장난감 컴파일러 thingy를 작성하고 있습니다. 따라서 XOR 및 Concatenate와 같은 기능은 입력에만 의존하여 동일한 입력으로 호출하면 항상 동일한 출력을 제공합니다. 그러나 Time과 Rand와 같은 기능은 "숨겨진"프로그램 상태에 따라 달라지며 동일한 입력으로 호출하면 다른 출력이 생길 수 있습니다. 나는 형용사가 무엇인지 알아 내려고 노력하고 있습니다. "동형"또는 "재입국"등과 같은이 두 가지 유형의 기능을 구별합니다. 누군가 내가 찾고있는 단어를 말해 줄 수 있습니까?

도움이 되었습니까?

해결책

당신이 찾고있는 용어는입니다 순수한

다른 팁

나는 그것이 불린다고 생각한다 순수한 기능:

컴퓨터 프로그래밍에서 기능은 기능에 대한이 두 문장이 다음과 같은 경우 순수하게 설명 될 수 있습니다.

  • 함수는 항상 동일한 인수 값이 주어진 동일한 결과 값을 평가합니다. 기능 결과 값은 프로그램 실행이 진행되거나 프로그램의 다른 실행 사이에 변경 될 수있는 숨겨진 정보 또는 상태에 따라 달라질 수 없으며 I/O 장치의 외부 입력에 따라 달라질 수 없습니다.
  • 결과의 평가는 돌연변이 가능한 물체의 돌연변이 또는 I/O 장치에 대한 출력과 같은 의미 적으로 관찰 가능한 부작용 또는 출력을 유발하지 않습니다.

결과 값은 인수 값의 모든 (또는 어떤)에 의존 할 필요는 없습니다. 그러나 인수 값 외에는 아무것도 의존해야합니다.

"순수한 기능"으로 가면 형용사가 "순수"라고 말할 수 있다고 생각합니다.

나는 항상 인수가 항상 동일 할 때 출력이 항상 동일하다는 것을 항상 배웠습니다. 개인적으로, 나는 그것이 더 설명적인 용어라고 생각합니다. 나는 "순수한 기능"이 정의에 따라 결정적이라고 생각하며, 부작용이 없도록 순수한 기능이 필요하다고 생각합니다. 나는 그것이 모든 결정 론적 기능의 경우가 될 필요는 없다고 가정한다 (반환 값이 항상 동일한 인수에 대해 동일하다면).

Wikipedia 링크 : http://en.wikipedia.org/wiki/deterministic_algorithm

인용하다:

특정 입력이 주어지면 항상 동일한 출력을 생성하며 기본 기계는 항상 동일한 순서를 통과합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top