Say Я хочу найти только первый матч состояния через ряд чисел, или в диапазоне:получает только первый матч с «doseq» в Clojure
(doseq [x (range 3 12)
:when (= 0 (mod x 4))
]
(println x)
)
Код напечатает all
числа, которые делятся на в диапазоне от 3 до 11, так что это было бы 4
и 8
, но что, если я просто хочу, чтобы первое совпадение было 4
?
'Код будет возвращать все номера ...' не это код возвращает 'nil', он печатает 4 и 8. Посмотрите функции clojure [filter] (https://clojuredocs.org/clojure.core/filter) и [сначала] (https://clojuredocs.org/clojure.core/first) – birdspider
@birdspider мой плохой. Я редактировал вопрос. просто увидели ссылку 'first' и' filter'. Любите вас, человек. – Yar
'doseq' всегда возвращает' nil', нет «первого совпадения», которое вы можете получить из [дозыq] (https://clojuredocs.org/clojure.core/doseq). – birdspider