Gambas/陣列
外觀
< Gambas
返回 Gambas
陣列是一個裝滿相同型別變數的列表。
- 你可以用一個數組來儲存一週中的所有工作日。
- 你可以用一個數組來儲存一年中的所有月份名稱。
- 你可以用它來儲存你學校一個班級的學生姓名。
- 你可以用它來儲存數字 0-9 等等。
陣列將縮短你的程式碼長度,因為陣列中的所有成員都可以用一個迴圈訪問。陣列中的每個元素都可以透過它在陣列中的位置來訪問。注意:第一個變數的位置是零。
示例
下面的姓名列表將儲存在一個數組中
Jack,John,Anne,Alice
你可以使用 Array 命令來完成這個操作。輸出是使用 for-each 迴圈完成的。
程式:你需要一個表單和一個命令按鈕來啟動它。
ar AS String[]
' a string array is defined
PUBLIC SUB Form_Open()
ar = Array("Jack","John","Anne","Alice")
' the array is filled
END
PUBLIC SUB Button1_Click()
element AS String
FOR EACH element IN ar
PRINT element
NEXT
' the array is printed into the terminal window
END
Array 命令使用以下語法
array = Array ( Expression , ... )
它建立一個數組並返回它。陣列的型別是第一個表示式的型別。其他表示式會自動轉換。你可以使用方括號語法作為 Array() 子例程的替代方法。
示例
PRINT Object.Type(Array(2.4, 3, 3.2))
> Float[]
PRINT Object.Type(Array("2.4", 3, 3.2))
> String[]
PRINT [ "A", "B", "C" ].Join("/")
> A/B/C
在以下示例中,一個數組填充了整數。然後,這些元素在 for-each 迴圈中被查詢並加在一起。這個小程式計算一行整數的總和。你需要 1 個文字區域、1 個文字框和 1 個命令按鈕來啟動程式。你也可以新增負整數。Split 命令和 String 陣列 String[] 非常有用。
程式碼
PUBLIC SUB Button1_Click() text AS String summe AS Float elt AS String[] Sb AS String text = textarea1.Text elt = Split(text,Chr(10)) FOR EACH Sb IN elt summe = summe + Val(sb) NEXT textbox1.Text = summe END
當你啟動程式時,你可以在文字區域中填充任何數字。當你想要新增另一個數字時,只需按下 RETURN 鍵。
Array = Split ( String [ , Separators , Escape ] )
這個命令將字串分割成以分隔符為界限的子字串。可以指定跳脫字元:任何包含在兩個跳脫字元之間的分隔符字元在分割過程中都會被忽略。
注意,Split 僅接受三個引數:如果你想使用多個分隔符,你應該將它們作為第二個引數傳遞,並將其連線成一個字串。預設情況下,逗號字元是分隔符,並且沒有跳脫字元。此函式返回一個字串陣列,其中填充了每個檢測到的子字串。
示例:你需要在你的表單上有一個命令按鈕來啟動它。
PUBLIC SUB Button1_Click()
DIM Elt AS String[]
DIM Sb AS String
Elt = Split("Gambas Almost Means BASIC ! 'agree ?'", " ", "'")
FOR EACH Sb IN Elt
PRINT Sb
NEXT
End
終端視窗中的輸出
Gambas Almost Means BASIC ! agree ?