跳轉到內容

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 = 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

Addy 程式

[編輯 | 編輯原始碼]

在以下示例中,一個數組填充了整數。然後,這些元素在 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 鍵。

Split 命令

[編輯 | 編輯原始碼]
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 ?
華夏公益教科書