खोज…


परिचय

एरो मैक्रोज़ के रूप में भी जाना जाता है, थ्रेडिंग मैक्रोज़ नेस्टेड फ़ंक्शन कॉल को फ़ंक्शन कॉल के रैखिक प्रवाह में परिवर्तित करते हैं।

थ्रेड लास्ट (- >>)

यह मैक्रो किसी दिए गए लाइन के आउटपुट को अगली लाइन फ़ंक्शन कॉल के अंतिम तर्क के रूप में देता है। उदाहरण के लिए

(prn (str (+ 2 3)))

वैसा ही है

(->> 2
    (+ 3)
    (str)
    (prn))

थ्रेड फर्स्ट (->)

यह मैक्रो किसी दिए गए लाइन के आउटपुट को अगली लाइन फ़ंक्शन कॉल के पहले तर्क के रूप में देता है। उदाहरण के लिए

 (rename-keys (assoc {:a 1} :b 1) {:b :new-b}))

कुछ भी नहीं समझ सकता, है ना? चलो फिर से कोशिश करते हैं, -> के साथ

(-> {:a 1}
    (assoc :b 1)                ;;(assoc map key val)
    (rename-keys {:b :new-b}))  ;;(rename-keys map key-newkey-map)

धागा के रूप में (as->)

यह पहले थ्रेड या थ्रेड लास्ट के लिए अधिक लचीला विकल्प है। इसे फ़ंक्शन के मापदंडों की सूची में कहीं भी डाला जा सकता है।

(as-> [1 2] x
      (map #(+ 1 %) x)
      (if (> (count x) 2) "Large" "Small"))


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow