我有一个矢量[[[1 2] [3 4]] [[5 6] [7 8]] [9 10] 11]
。我想对这个向量应用一个函数,但保留数据结构。Clojure - 将函数应用于矢量载体
例如,我想为每个数字加1,但保留数据结构以得到结果为[[[2 3] [4 5]] [[6 7] [8 9]] [10 11] 12]
。这可能吗?
我已经试过
(map #(+ 1 %) (flatten [[[1 2] [3 4]] [[5 6] [7 8]] [9 10] 11]))
=> (2 3 4 5 6 7 8 9 10 11 12)
但是你可以看到,数据结构是不一样的。
是否有可能一个函数,(2 3 4 5 6 7 8 9 10 11 12)
到[[[2 3] [4 5]] [[6 7] [8 9]] [10 11] 12]
我想,也许使用postwalk,但我不知道这是正确的。
任何帮助,将不胜感激