星期四, 5月 08, 2008

[Boo]Boo(10)-Array

陣列的定義方法主要有兩種:
  • 使用小括號 (,) 來定義。
  • 使用函數: 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)

沒有留言: