我会通过使用封闭盒子一些Clojure的教程,并进入下面的代码:
user> (def stooges (vector "Moe" "Larry" "Curly"))
#'user/stooges
user> (contains? stooges "Moe")
false
如果不是这个评估为真? 任何帮助表示赞赏。
我会通过使用封闭盒子一些Clojure的教程,并进入下面的代码:
user> (def stooges (vector "Moe" "Larry" "Curly"))
#'user/stooges
user> (contains? stooges "Moe")
false
如果不是这个评估为真? 任何帮助表示赞赏。
一种载体是相似的阵列。 contains?
返回true
如果key
集合中存在。 你应该寻找“键/索引号” 0,1或2
user=> (def stooges (vector "Moe" "Larry" "Curly"))
#'user/stooges
user=> (contains? stooges 1)
true
user=> (contains? stooges 5)
false
如果您使用的是哈希...
user=> (def stooges {:moe "Moe" :larry "Larry" :curly "Curly"})
#'user/stooges
user=> (contains? stooges :moe)
true
user=> (contains? stooges :foo)
false
作为mikera建议,你可能要像clojure.core /一些
这是一个常见的陷阱! 我记得落入这一个,当我开始使用Clojure的:-)
包含? 检查的索引(0,1,2,等等)集合中是否存在。
你可能想是这样的:
(some #{"Moe"} stooges)
=> "Moe" <counts as boolean true>
(some #{"Fred"} stooges)
=> nil <counts as boolean false>
或者你可以定义自己的版本,是这样的:
(defn contains-value? [element coll]
(boolean (some #(= element %) coll)))
(contains-value? "Moe" stooges)
=> true
包含? 支持设置,如果你使用的Clojure-1.4
user=> (contains? #{:a, :b} :a)
true
user=> (contains? (set stooges) "Moe")
true