大家好,我是對於 Clojure 一無所知的菜鳥小白工程師。
今天要來學習 Clojure 資料型態中的向量 Vectors
。
try Clojure here: https://qa-mktg.codingrooms.com/compiler/clojure/
向量(Vectors)類似於陣列(Arrays),基本上上它們是一個 0 索引( 0-indexed
,索引值編排從0 開始)的集合。例如,以下是一個向量的例子:
[3 2 1]
在這裡,我們使用 get 函數取得向量的第 0 個元素:
(get [3 2 1] 0)
; => 3
這裡是另一個按索引取得元素的示例:
(get ["a" {:name "Pugsley Winterbottom"} "c"] 1)
; => {:name "Pugsley Winterbottom"}
我們可以看到向量元素可以是任何類型,並我們可以混合不同類型的元素。另外,我們在查找映射中的值時使用 get
函數,也可以用於查找向量。
我們可以使用 vector
函數創建向量:
(vector "creepy" "full" "moon")
; => ["creepy" "full" "moon"]
我們可以使用 conj
函數,將元素添加到向量中:
(conj [1 2 3] 4)
; => [1 2 3 4]
今天我們學習了向量(Vectors)的資料結構。它類似於陣列,可以放入不同類型的元素,並且使用索引值來查找。
在 Clojure 中,向量不是存儲序列(sequences)的唯一方式。
在下一章節中,我們將學習列表( Lists
)。