Я предполагаю, что это очень простой вопрос, но я не могу найти ответ в Интернете: как вы вычитаете n
из каждого элемента последовательности Clojure? Например, вычтите 4 из каждого элемента (6 9 11) и получите (2 5 7)?
Я предполагаю, что это должно быть сделано с map
, и я знаю, что для особого случая вычитания 1 я могу сделать (map dec (sequence))
, но как мне сделать это для любого другого случая?
Что бы это ни стоило, в конце концов я понял, что (map - (map (partial - n) (sequence))
технически работает, но это явно не то, как это должно быть сделано.
Для любого, кто попадает сюда из поиска и имеет немного другую проблему: если вы хотите вычесть каждый элемент последовательности Clojure из n, вы можете сделать это с помощью (map (partial - n) (sequence))
Аналогично, для умножения каждого элемента последовательности Clojure на n
вы можете сделать (map (partial * n) (sequence))
Для добавления n
к каждому элементу последовательности Clojure (map (partial + n) (sequence))
Я нашел этот ответ в этих документах Clojure , поэтому я предполагаю, что это идиоматично, но, очевидно, я не могу за это поручиться сам.