मैं विभिन्न गणनाओं में देरी करने की कोशिश कर रहा हूं। मैं निम्न रूप में कार्य करता है,फंक्शन तर्क कई प्रकार
(defn a-fn [a b]
(let [a (if (fn? a)
a
#(identity a))
b (if (fn? b)
b
#(identity b))]
(+ (a) (b))))
यह मेरे पास करने के लिए एक-fn, एक मूल्य या एक समारोह है कि मान देता है,
(a-fn 1 2)
(defn x [] 1)
(defn y [] 2)
(a-fn x y)
(a-fn x 2)
मैं क्या कार्यों की एक सूची का निर्माण होता है की अनुमति देता है (उपर्युक्त की तरह) कुछ डेटा पर काम करने के लिए, एफएनएस अपने तर्कों को पुनः प्राप्त करने के लिए अन्य एफएनएस का उपयोग कर सकते हैं या कुछ मामलों में चीजें बदलती नहीं हैं और उन्हें मूल्यों को तर्क के रूप में असाइन किया जाता है। मैं सोच रहा था कि इस तरह के व्यवहार को प्राप्त करने का एक बेहतर तरीका है?
अच्छा। देरी/बल के बारे में भूल गए। –