Tru*_* Ha 2 programming-languages clojure
我在一本Clojure书中看到了这段代码.你能解释一下我的contains?工作原理吗?
contains?
(contains? [1 2 3] 3) ;= false (contains? [1 2 3] 2) ;= true (contains? [1 2 3] 0) ;= true
slo*_*oth 5
看看文档:
包含? (包含?coll键) 如果给定集合中存在key,则返回true,否则返回false.请注意,对于像矢量和Java数组这样的数字索引集合,这将测试数字键是否在索引范围内."包含?" 操作恒定或对数时间; 它不会对值执行线性搜索.另见'some'.
包含?
(包含?coll键)
如果给定集合中存在key,则返回true,否则返回false.请注意,对于像矢量和Java数组这样的数字索引集合,这将测试数字键是否在索引范围内."包含?" 操作恒定或对数时间; 它不会对值执行线性搜索.另见'some'.
因此,在您的示例中,(contains? [1 2 3] 3)返回false因为集合[1 2 3]不包含索引处的项3(这意味着(get [1 2 3] 3)将返回nil).
(contains? [1 2 3] 3)
false
[1 2 3]
3
(get [1 2 3] 3)
nil
归档时间:
12 年,4 月 前
查看次数:
120 次
最近记录: