как уменьшить в обратном порядке, чтобы перебрать с последнего индекса и до конца до индекса 0? - PullRequest
0 голосов
/ 02 ноября 2019

Я бы хотел, чтобы моя анонимная функция внутри моего вызова Reduce могла работать со списком ввода в обратном порядке. В javascript есть функция .reduceRight () https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight Что такое эквивалент в clojure?

1 Ответ

1 голос
/ 05 ноября 2019

Вы хотите выполнить итерацию от последнего индекса и до тех пор, пока индекс 0 не будет . Это говорит о том, что вы имеете дело с чем-то вроде вектора. Если это так, вы можете применить к нему функцию rseq, которая в постоянное время возвращает обратную последовательность аргументов.

Векторы Clojure имеют класс java PersistentVector. Это реализует интерфейс под названием Reversible. Это то, что ищет функция rseq.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...