Bir haritadan bir tuşa çıkaran bir fonksiyon var?Haritadan birden çok tuş nasıl kaldırılır?</p> <pre><code>(defn remove-key [key map] (into {} (remove (fn [[k v]] (#{key} k)) map))) (remove-key :foo {:foo 1 :bar 2 :baz 3}) </code></pre> <p>Nasıl birden tuşlarını kullanarak bu fonksiyonu uygularım:
(remove-keys [:foo :bar] {:foo 1 :bar 2 :baz 3})
Döngü kullanarak bir uygulamam var ... yineleme. Bunu Clojure'da yapmanın daha aptalca bir yolu var mı? Eğer senin remove-key
fonksiyonu standart kütüphanesine kapsamındadır
(apply dissoc {:foo 1 :bar 2 :baz 3} [:foo :bar])
Clojure, bir işlevi bir çağrıda "patlatmaya" yaramaz mı? ala Python'un * listesi? – john2x
@ john2x, 'apply' tam olarak bunu yapar. I.e, '(f foo çubuğu baz uygulanır)' python'da 'f (foo bar * baz)' ile eşdeğerdir. –