问题描述
我正在使用CloseBox浏览一些Clojure教程,并输入了以下代码:
user> (def stooges (vector "Moe" "Larry" "Curly"))
#'user/stooges
user> (contains? stooges "Moe")
false
这不应该评估为真吗?如有任何帮助,我们不胜感激。
推荐答案
向量类似于数组。contains?
如果集合中存在key
,则返回true
。您应该查找"key/index"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
的内容