Отобразить все элементы, сохраняя векторные структуры - PullRequest
1 голос
/ 27 апреля 2019

Например, как мне лучше всего добиться этого преобразования:

[[[1 2]] [3 4] [[5] 6]] -> [[[2 3]] [4 5] [[6] 7]]

Существует ли идиоматический способ сделать это с любым количеством уровней?

1 Ответ

4 голосов
/ 27 апреля 2019

Вы можете использовать clojure.walk для увеличения чисел в произвольно вложенных структурах:

(def data [[[1 2]] [3 4] [[5] 6]])
(clojure.walk/postwalk
 #(if (number? %) (inc %) %)
 data)
=> [[[2 3]] [4 5] [[6] 7]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...