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 ?