跳转到内容

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 ?
华夏公益教科书