2
我碰到這個代碼片段在一本書的Clojure來了。你能解釋一下contains?
是如何工作的嗎?如何包含?在Clojure工作?
(contains? [1 2 3] 3)
;= false
(contains? [1 2 3] 2)
;= true
(contains? [1 2 3] 0)
;= true
我碰到這個代碼片段在一本書的Clojure來了。你能解釋一下contains?
是如何工作的嗎?如何包含?在Clojure工作?
(contains? [1 2 3] 3)
;= false
(contains? [1 2 3] 2)
;= true
(contains? [1 2 3] 0)
;= true
試想一下,在documentation:
包含?
(包含?科爾鍵)
返回如果屬實關鍵是目前給定的集合中,否則 返回false。請注意,對於數字索引的集合像 載體和Java數組,這個試驗如果數字鍵是 指標範圍之內。 「包含?」運行常數或對數時間; 它不會執行線性搜索值。另見'一些'。
所以,在你的榜樣,(contains? [1 2 3] 3)
回報false
因爲集合[1 2 3]
不索引3
在包含一個項目(這意味着(get [1 2 3] 3)
將返回nil
)。
所以這個名字是有點混亂。 Thx –
@TruongHa是的,常見錯誤認爲它說如果一個集合包含一個元素。混淆每個人:-) – sloth