On "Programming Clojure", gibt es ein Beispiel get-Funktion auf einem Vektor mit:in Clojure, ist ein Vektor eine bestimmte hashmap?
(get [:a :b :c] 1)
-> :b
I (doc get) genannt, und es sieht aus wie Funktion als Argument nimmt hashmap erhalten, aber nicht Vektor, so dass ich wandern, wenn Vektor ist eine Art von hashmap. Ich erinnere mich an ein hashmap einen Index integer nehmen, und Rückgabewert, der Index übereinstimmt, so habe ich dies zu sehen, ob Vektor elbe tun können:
([1 2 3 4] 1)
-> 2
Es hat Rückgabewert 2, der am Index 1 in ist [ 1 2 3 4].
Bedeutet dies, dass ein Vektor eine Hashmap ist, deren Schlüssel-Wert-Paar Index-Wert-Paar ist?
Mathematisch gesprochen ist ein Vektor eine * map * - eine Funktion (eine mathematische Funktion). Ich weiß nicht, wie es speziell in clojure implementiert wird, aber ich bezweifle, dass es mit einem Hash implementiert wird. clojure wird dynamisch typisiert, es ist also egal, was der tatsächliche Typ ist. – Elazar