更新嵌套向量

时间:2014-08-05 18:20:34

标签: vector clojure

让我们说我有以下的载体

(def x [[1 2 3] [4 5 6] [7 8]])

我希望将数字9附加到最后一个向量(我不知道向量的索引)

(conj (vec (butlast x)) (conj (last x) 9))
 #=> [[1 2 3] [4 5 6] [7 8 9]]

有更好/更清晰的方法吗?

1 个答案:

答案 0 :(得分:8)

使用有效的尾部访问功能

(conj (pop x) (conj (peek x) 9))

但你也可以

(update-in x [(dec (count x))] conj 9)