我正在使用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之类的东西

10-02 04:55