Clojure&问题包含'

人气:409 发布:2022-10-16 标签: clojure contains vector

问题描述

我正在使用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

的内容

422