获取筛选列表的第一项

时间:2015-08-26 06:13:18

标签: scheme

some中有clojure,可以chicken scheme表示如下:

(define (some pred coll)
  (lazy-head (lazy-filter pred (list->lazy-seq coll))))

内置有什么东西吗?

1 个答案:

答案 0 :(得分:3)

find查看SRFI 1 - 它就像您的实施一样:

(find even? '(3 1 4 1 5 9)) ; => 4

但请注意,略微与Clojure some不同:Clojure返回应用于元素的pred值,而{{1返回元素本身。

另请参阅any,也来自SRFI 1,如果您不需要该值,只需检查是否存在,这是更可取的。