Clojure序列操作

kak*_*eys 2 clojure

如何从旧序列中获取新序列,新序列的元素来自旧序列,直到满足条件

假设条件为#(>%0)

'(1 2 3 0 3 2 0 1)返回1,2,3

'(0 1 2 3)返回空seq

'(1 2 3)返回一切.

注意它与过滤器不同.

mik*_*era 6

您可能想要使用take-while:

(take-while #(> % 0) '(1 2 3 0 3 2 0 1))
=> (1 2 3)
Run Code Online (Sandbox Code Playgroud)

  • 或者甚至`(在这个特定的情况下,接受pos?'(1 2 3 0 3 2 0 1))`. (2认同)