首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >测试列表是否包含Clojure中的特定值

测试列表是否包含Clojure中的特定值
EN

Stack Overflow用户
提问于 2010-07-15 02:43:00
回答 17查看 79.3K关注 0票数 181

在Clojure中测试列表是否包含给定值的最佳方法是什么?

特别是,contains?的行为目前让我感到困惑:

代码语言:javascript
复制
(contains? '(100 101 102) 101) => false

我显然可以编写一个简单的函数来遍历列表并测试相等性,但肯定有一种标准的方法来做到这一点?

EN

回答 17

Stack Overflow用户

发布于 2010-07-15 03:34:31

下面是用于相同目的的标准util:

代码语言:javascript
复制
(defn in? 
  "true if coll contains elm"
  [coll elm]  
  (some #(= elm %) coll))
票数 147
EN

Stack Overflow用户

发布于 2015-08-20 00:51:20

您可以始终使用.methodName语法调用java方法。

代码语言:javascript
复制
(.contains [100 101 102] 101) => true
票数 25
EN

Stack Overflow用户

发布于 2012-09-19 11:01:45

我知道我来晚了点,但是:

代码语言:javascript
复制
(contains? (set '(101 102 103)) 102)

最后,在clojure 1.4中输出true :)

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3249334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档