我正在使用Closure Box浏览一些Clojure教程,并输入了以下代码:
user> (def stooges (vector "Moe" "Larry" "Curly"))
#'user/stooges
user> (contains? stooges "Moe")
false
这不应该评估为TRUE吗?任何帮助表示赞赏。
最佳答案
向量类似于数组。如果集合中存在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/some之类的东西