【发布时间】:2019-04-27 11:34:31
【问题描述】:
例如,我怎样才能最好地实现这种转变:
[[[1 2]] [3 4] [[5] 6]] -> [[[2 3]] [4 5] [[6] 7]]
有没有一种惯用的方法,可以有任意数量的级别?
【问题讨论】:
标签: clojure
例如,我怎样才能最好地实现这种转变:
[[[1 2]] [3 4] [[5] 6]] -> [[[2 3]] [4 5] [[6] 7]]
有没有一种惯用的方法,可以有任意数量的级别?
【问题讨论】:
标签: clojure
您可以使用clojure.walk 来增加任意嵌套结构中的数字:
(def data [[[1 2]] [3 4] [[5] 6]])
(clojure.walk/postwalk
#(if (number? %) (inc %) %)
data)
=> [[[2 3]] [4 5] [[6] 7]]
【讨论】:
mapv是“eager”并且不返回惰性序列。