在Clojure中将序列转换为集合的惯用方法是什么?例如,我在点上填写什么?
(let s [1 1 2 2 3 3]
...)
Run Code Online (Sandbox Code Playgroud)
所以它产生:
#{1 2 3}
Run Code Online (Sandbox Code Playgroud)
我想出来:
(let [s [1 1 2 2 3 3]]
(loop [r #{} s s]
(if (empty? s) r (recur (conj r (first s)) (rest s)))))
Run Code Online (Sandbox Code Playgroud)
但这似乎不是要走的路?有没有这样做的功能?
Art*_*ldt 14
大多数集合都有一个函数可以生成任何形式的seqable:
(set [1 1 2 2 3 3])
#{1 2 3}
Run Code Online (Sandbox Code Playgroud)
对于更有趣的案例,该into函数很好地了解:
(into #{1} [2 2 3 3])
#{1 2 3}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |