Programlama dilinde clojure'da nasıl modül yazımı yazarım? Örneğin, para% = money_value sembollerini gösterir.Clojure'da Mod Sözdizimi
cevap
Clojure'da denemek isteyebileceğiniz iki işlev vardır: mod
ve rem
. Pozitif sayılar için aynı şekilde çalışırlar, ancak negatif sayılar için farklıdırlar. İşte dokümanlardan bir örnek:
(mod -10 3) ; => 2
(rem -10 3) ; => -1
Güncelleme: Gerçekten Clojure için kodunuzu dönüştürmek istiyorsanız
, bir deyimsel Clojure çözümü muhtemelen böyle bir şey görünmeyecek gerçekleştirmek gerekir senin JavaScript çözümü.
(defn change [amount]
(zipmap [:quarters :dimes :nickels :pennies]
(reduce (fn [acc x]
(let [amt (peek acc)]
(conj (pop acc)
(quot amt x)
(rem amt x))))
[amount] [25 10 5])))
(change 142)
; => {:pennies 2, :nickels 1, :dimes 1, :quarters 5}
Sen ClojureDocs üzerinde tanımıyoruz işlevlerin herhangi bakabilirsiniz: İşte ne istediğini kabaca yapar düşünmek güzel bir çözüm. Tarzınızı anlamıyorsanız, muhtemelen higher-order functions ile daha fazla deneyim programlamaya ihtiyacınız vardır. Bence 4Clojure başlamak için iyi bir yer.
nasıl Clojure bu ... var değişim = function (miktar) { var QUARTER_VALUE = 25, DIME_VALUE = 10 hakkında, NICKEL_VALUE = 5; var quarters = Math.floor (miktar/QUARTER_VALUE); tutarında% = QUARTER_VALUE; var dimes = Math.floor (miktar/DIME_VALUE); – user1585646
@ user1585646 bu clojure değil mi? – Pointy
Biliyorum ama bunu clojure'a dönüştürmek istiyorum. – user1585646
Neden JavaScript etiketi? "Para% = MONEY_VALUE" Clojure içine –
dönüştürme bu – user1585646