7
böyle bir işlevi döndüren bir işlev tanımlarsanız:çağrılması Clojure yüksek dereceden fonksiyonlar
(defn add-n
[n]
(fn [x] (+ x n)))
Sonra bir sembole sonucu atayabilirsiniz:
(def add-1 (add-n 1))
ve diyoruz:
(add-1 41)
;=> 42
(add-n 1)
sonucunu yeni bir sembole atamadan nasıl arayabilirim? Aşağıda, bu çıktı üretir:
(println (add-n 1))
#<user$add_n$fn__33 [email protected]>
nil
#<user$add_n$fn__33 [email protected]>
oluşturulan işlev için bir iç referanstır.