在「編程Clojure的」,有使用get函數在向量的例子:,是一個特定的hashmap矢量嗎?
(get [:a :b :c] 1)
-> :b
我叫(DOC GET),它看起來像得到函數需要的HashMap的說法,但沒有矢量,所以我徘徊,如果矢量是某種散列表。我記得一個HashMap可以採取指數整數,並返回值匹配指數,所以我這樣做是爲了看看矢量可以做同樣的事情:
([1 2 3 4] 1)
-> 2
它沒有返回值2,這是在索引1 [ 1 2 3 4]。
這是否意味着一個向量是一個哈希表,其鍵 - 值對是索引值對?
在數學上來說,矢量是* map * - 函數(數學函數)。我不知道它是如何在clojure中實現的,但我懷疑它是使用散列實現的。 clojure是動態類型的,所以它不關心什麼是實際類型。 – Elazar