मैं कुछ उदाहरण फाइबोनैचि अनुक्रम clojure कोड के माध्यम से देख रहा हूँ:क्लोजर में आलसी-सीक का क्या मतलब है?
(def fibs (lazy-cat [1 2] (map + fibs (rest fibs))))
मैं आम तौर पर समझ में क्या चल रहा है, लेकिन lazy-cat
की बात नहीं मिलता है। मुझे पता है कि lazy-cat
एक मैक्रो जो कुछ इस तरह में अनुवाद किया जाता है:
(def fibs (concat (lazy-seq [1 2]) (lazy-seq (map + fibs (rest fibs)))))
वास्तव में क्या lazy-seq
पूरा करने है? यह अभी भी lazy-seq
के बिना भी आलसी मूल्यांकन किया जाएगा? क्या यह कड़ाई से कैशिंग उद्देश्यों के लिए है?
संपादित करें: उत्तर के लिए धन्यवाद। मेरा भ्रम यह था कि यह आरईपीएल से एक सादे concat
के साथ काम करता था क्योंकि मेरे पास पिछले क्षेत्र में फाइबर के लिए बाध्यकारी था।