Scheme에서 정의 내에서 중첩 된 람다 식에 대해 define/lambda 단축형을 사용하려면 어떻게해야합니까?Scheme define/lambda shorthand
다음 절차에 주어진 예를 들어...
(define add
(lambda (num1 num2)
(+ num1 num2)))
하나는이로 단축 할 수 있습니다
그러나(define (add num1 num2)
(+ num1 num2))
, 나는 유사하게 다음과 같은 기능을 단축 할 수있는 방법?
(define makeOperator
(lambda (operator)
(lambda (num1 num2)
(operator num1 num2))))
;example useage - equivalent to (* 3 4):
((makeOperator *) 3 4)
감사합니다. 내 투표 한도가 재설정되면 +1하겠습니다. http://www.scheme.com/tspl2d/start.html#g1642 - 조금 아래로 스크롤하면 작성자는 단축 정의를위한 일종의 도트 구문에 대해 이야기하는 것처럼 보입니다. 무슨 얘길하는거야? – Cam
@incrediman : 예, 그는 임의의 수의 인수 (예 :'(f 1 2 3 4 5)')로 f를 호출 할 수있게 해주는'(define (f. xs) ...) xs'는 이러한 인수를 포함하는 목록입니다. – sepp2k
아. 고챠 - 고마워. 그것은 실제로 실제로 매우 유용합니다. 그래서 나는 물었습니다. – Cam