我是Clojure和函数式编程的新手.我想以下列格式创建100,000个密钥列表:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
我做这样的事情:
(defn get-key [chunk-size, key-length]
(apply str
(flatten
(interpose "-"
(partition chunk-size
(take key-length
(repeatedly #(rand-nth "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"))))))))
(defn dump-keys [n, chunk-size, key-length]
(with-open [wrt (io/writer "keys.txt")]
(doseq [i (range n)]
(.write wrt (str (get-key chunk-size key-length) "\n")))))
Run Code Online (Sandbox Code Playgroud)
哪个产生
KYFL0-7YO6J-30XMV-ZIGE7-MK009
MNQZH-K7L8I-35C0K-7DS7Q-OTZWI
MVB9D-GHME9-IMGCL-YPAKX-4YZVD
... etc
Run Code Online (Sandbox Code Playgroud)
然而,它需要大约5秒,与类似的命令式算法相比,这相对较长.
什么被认为是做我想做的事情的惯用(和快速)方式?
| 归档时间: |
|
| 查看次数: |
3115 次 |
| 最近记录: |