Схема векторного сгиба и аналога векторной карты в Clojure? - PullRequest
1 голос
/ 07 марта 2019

Как сделать из Clojure функции vector-fold и vector-map из схемы?

1 Ответ

4 голосов
/ 07 марта 2019

Чтобы отобразить вектор и получить вектор обратно, вы можете использовать mapv. Чтобы сложить вектор, вы можете использовать обычный reduce, так как векторы можно секвенировать. Чтобы получить индекс в итерируемой функции, есть map-indexed или вы можете использовать (range):

(mapv (fn [i e] [i e]) [1 2 3] (range))
=> [[1 0] [2 1] [3 2]]
...