Clojure循环通过从第n个元素开始的向量而不是0

use*_*477 0 clojure

我想循环一个从第n个元素开始的向量而不是0;

它在Java中的样子:

for(int i = firstIndex; i <= lastIndex; i++) {
    newText += contents[i] + " ";
}
Run Code Online (Sandbox Code Playgroud)

Nat*_*vis 5

如果你总是处理一个向量,那么这subvec是一个不错的选择.例如:

(subvec contents firstIndex)
Run Code Online (Sandbox Code Playgroud)

如果你想与一般的序列兼容,你会想要使用drop. dropO(n)WRT元素的数量下降了,这subvec是永远O(1).如果你只丢掉一些元素,差异可以忽略不计.但是对于掉落大量元素(即大片firstIndex),subvec将是一个明显的赢家.但subvec仅适用于矢量.