(defn num-as-words [n]
(let [words '("zero" "one" "two" "three" "four"
"five" "six" "seven" "eight" "nine")]
(clojure.string/join "-"
(map (fn [x] (nth words (Integer. (re-find #"\d" (str x)) ))) (str n)))))
Run Code Online (Sandbox Code Playgroud)
我写了这个函数,称为num-as-words,它取一个整数并将其显示为完整的单词,例如,如果你输入(123)它将返回(一二三).
我是用地图完成的,但我想知道是否有另一种方法呢?我还想知道是否有另一种方法来连接单词而不是clojure.string/join,我最初使用interpose但不喜欢它的输出方式,因为它看起来像("one"" - ""two "" - ""三").
非常感谢任何帮助,谢谢.
clojure ×1