陣列的定義方法主要有兩種:
- 使用小括號 (,) 來定義。
- 使用函數: array()、matrix() 來取得。
要得到陣列的大小,則可以使用 len (參考原始碼 tests/testcases/integration/primitives/len-1.boo),直接來看範例吧:
a0 = (,) // 空的陣列 a1 = ( 1, 2, 3, 4, 5 ) // 都是整數的陣列 a2 = array( range(5) ) // 同樣也是得到整數陣列 a3 = matrix( typeof(int), 2, 3 ) // 得到一個 2x3 的陣列,也可以多傳幾個,製造一個瘋狂的多維陣列 a4 = array( typeof(int), 5 ) // 也是得到一個整數陣列 a3[0,0] = 1 a3[1,0] = 2 print "len(a3,0)=" + len(a3,0) // 得到 a3 第一維的大小 print "len(a3,1)=" + len(a3,1) // 得到 a3 第二維的大小 for i in a3: print i a4 = ( 1, 'a', 2, 'b' ) // 雖然陣列要求都是相同型別,但是這樣寫也可以,只是得到型別都是 object 的陣列 // 輸出結果 // 1 // 0 // 0 // 2 // 0 // 0 // len(a3,0)=2 // len(a3,1)=3
陣列也可以用 Generic 語法(參考原始碼 tests/testcases/parser/array_list_hash_literals.boo),只是我覺得並不是像 List 那麼的必要就是了~:
a5=(of int: 1,2,3)