Clojure“包含"的问题 [英] Issue with Clojure 'contains'
本文介绍了Clojure“包含"的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用 Closure Box 浏览一些 Clojure 教程,并输入以下代码:
user>(def stooges(矢量Moe"Larry"Curly"))#'用户/走狗用户>(包含?走狗萌")错误的
这不应该评估为 TRUE 吗?任何帮助表示赞赏.
解决方案
向量类似于数组.contains?
返回 true
如果key
存在于集合中.您应该寻找键/索引"0、1 或 2
user=>(def stooges(矢量Moe"Larry"Curly"))#'用户/走狗用户=>(包含?走狗 1)真的用户=>(包含?走狗 5)错误的
如果您使用的是散列...
user=>(def stooges {:moe "Moe" :larry "Larry" :curly "Curly"})#'用户/走狗用户=>(包含?走狗 :moe)真的用户=>(包含?走狗:foo)错误的
正如 mikera 所建议的,您可能想要类似 clojure.core/some>
I am going through some Clojure tutorials using Closure Box, and entered the following code:
user> (def stooges (vector "Moe" "Larry" "Curly"))
#'user/stooges
user> (contains? stooges "Moe")
false
Shouldn't this evaluate to TRUE ? Any help is appreciated.
解决方案
A vector is similar to an array. contains?
returns true
if the key
exists in the collection. You should be looking for the "key/index" 0, 1 or 2
user=> (def stooges (vector "Moe" "Larry" "Curly"))
#'user/stooges
user=> (contains? stooges 1)
true
user=> (contains? stooges 5)
false
If you were using a hash...
user=> (def stooges {:moe "Moe" :larry "Larry" :curly "Curly"})
#'user/stooges
user=> (contains? stooges :moe)
true
user=> (contains? stooges :foo)
false
As mikera suggests, you probably want something like clojure.core/some
这篇关于Clojure“包含"的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文