1
我學習的Clojure和我寫了這個代碼來解決羅馬數字卡塔:羅馬數字卡塔用Clojure
(def romans (sorted-map-by >
1000 "M"
500 "D"
400 "CD"
100 "C"
90 "XC"
50 "L"
40 "XL"
10 "X"
9 "IX"
5 "V"
4 "IV"
1 "I"))
(defn roman-digit [arabic]
(first (filter (fn [[key value]]
(>= arabic key)) romans)))
(defn arabic-to-roman [arabic]
(def roman (roman-digit arabic))
(if (> arabic 0)
(apply str (val roman) (arabic-to-roman (- arabic (key roman))))
""))
我想知道我怎麼能得到這個代碼更高效/成語/清潔。我相信我能學到很多新東西。
謝謝。
使用let而不是def在阿拉伯語 - 羅馬函數中 – KobbyPemson
您應該在[Code Review](http://codereview.stackexchange.com)上發佈此內容。 –
此問題在4clojure上可用。跟隨一些頂級用戶併發布您的解決方案以查看他們的。 –