получить частичное замыкание последовательности из более длинной последовательности - PullRequest
0 голосов
/ 26 ноября 2018

Учитывая последовательность («a», «b», «c», «d», «e»), каков наилучший способ получить ее подпоследовательность, например («c», «d»,"e")?

Я посмотрел subseq, но он требует проверки, в которой в этом случае я хочу просто указать позицию.

1 Ответ

0 голосов
/ 26 ноября 2018

Самый простой способ - использовать drop & take:

(def data  ["a","b","c","d","e"] )
(take 3 (drop 2 data))

Если данные представляют собой вектор (квадратные скобки, уведомление об изменении указано выше), вы можете использовать subvec:

(subvec data 2 5)

Чтобы убедиться, что это вектор, его легко использовать vec

(subvec (vec data) 2 5)

=> ["c" "d" "e"]

Если вы еще не видели их, вы можете оформить заказ этих ресурсов.:

И, конечно же, Clojure CheatSheet

...