ฉันเพิ่งเริ่ม clojure แต่ฉันไม่สามารถดูเหมือนจะคิดให้ออกใช้/กำลังสร้างระดับสูงฟังก์ชัน.
ฉันต้องกแบ่งส่วนเป็นชุดสะสมและฉันอยากจะผ่านมันไปยังอีกฟังก์ชันที่จะทำอะไรบางอย่างกับหน้าต่างของรายการ. ฉันไม่แน่ใจว่าจะไปถึงทำอย่างนี้
(def foo [:a :b :c :d :e])
(partition 3 1 foo)
;;=> ((:a :b :c) (:b :c :d) (:c :d :e))
(defn bar [start next end])
ฉันคิดว่าคนพื้นฐานเส้นต้องเป็นอย่างนั้น
(defn faz [collect]
(partition 3 1 collect)
;;maybe do here before passing
(bar stand next end)
)
ฉันอาจจะกำลังก้าวหน้าต่อไปของตัวเองแต่ฉันยังเห็นมันยังมีอีกหลายฟังก์ชันแบบลดและปรับใช้พวกเขาสามารถทำบางอย่างที่คล้ายกันใช่มั้ย? ถึงแม้ว่าส่วนตัวอย่างผมเห็นมีมันแล้วพวกเขาแสดงปฏิบัติการอยู่สองรายการในเวลาซึ่งคล้ายกับ (partition 2 1 foo)