योजना में, मैं परिभाषित/लैम्ब्डा शॉर्टैंड का उपयोग कैसे परिभाषित कर सकता हूं?योजना परिभाषित/लैम्ब्डा शॉर्टेंड
उदाहरण के लिए निम्नलिखित प्रक्रिया को देखते हुए ...
(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: हाँ, वह '(परिभाषित (एफ। Xs) ...) 'के बारे में बात कर रहा है, जो आपको तर्कों की मनमानी संख्या (जैसे' (एफ 1 2 3 4 5) ') के साथ एफ कॉल करने की अनुमति देगा और' xs' उन तर्कों वाली एक सूची होगी। – sepp2k
अहह। गोचा - धन्यवाद। यह वास्तव में काफी उपयोगी है, इसलिए मुझे खुशी है कि मैंने पूछा :) – Cam