Rexx - 数组



任何编程语言中的数组都允许您将相同类型的值列表组合在一起。数组的用途在于它允许您构建一个相似类型值的列表,这些值可以**排序、搜索**并且可以**轻松操作**。Rexx 也允许定义数组。这些数组可以是一维的或多维的。

Rexx 数组可能是稀疏的。也就是说,并非每个数组位置都必须有值,甚至不必初始化。在包含数据元素的那些元素之间,可能存在空的数组位置或槽。或者数组可以是密集的,其中连续的数组槽都包含数据元素。

在许多编程语言中,您必须关注表中第一个条目的下标是什么。第一个数字下标是 0 还是 1?在 Rexx 中,第一个下标就是您使用的任何下标!因此,根据您的喜好,将第一个数组元素输入到位置 0 或 1。

array_name.0 = ‘first element’

array_name.1 = ‘first element’

让我们看看数组可用的不同操作。

创建数组

数组的创建使用与 Rexx 中变量相同的命名约定。

创建数组的通用语法如下:

Arrayname.index = value 

其中

  • **数组名** - 这是为数组提供的名称。

  • **索引** - 这是数组中的索引位置,用于引用特定元素。

  • **值** - 这是分配给数组中索引元素的值。

数组声明的示例如下:

示例

/* Main program */ 
list.1 = 0 
list.2 = 0 
list.3 = 0

关于上述程序,需要注意以下几点:

  • 数组的名称为 list
  • 数组有 3 个元素,其值初始化为 0。

为数组元素赋值

可以像初始化数组元素一样重新为数组元素赋值。

以下程序是可分配给现有数组的各种索引值的示例。

/* Main program */ 
list.1 = 0 
list.2 = 0 
list.3 = 0 

/* Assigning new values to the array*/ 
list.1 = 10 
list.3 = 30 

显示数组的值

可以通过引用数组元素的索引位置来显示数组的值。以下示例显示了如何访问数组的各种元素。

示例

/* Main program */ 
list.1 = 0 
list.2 = 0 
list.3 = 0 

/* Assigning new values to the array*/ 
list.1 = 10 
list.3 = 30 
say list.1 
say list.2 
say list.3 

上述程序的输出将如下所示:

10
0
30

复制数组

数组的所有元素都可以复制到另一个数组中。这的一般语法如下:

Newarray. = sourcearray. 

其中

  • **新数组** - 这是需要将元素复制到的新数组。

  • **源数组** - 这是需要从中复制元素的源数组。

以下程序显示了如何执行数组的复制操作:

示例

/* Main program */ 
list.1 = 0 
list.2 = 0 
list.3 = 0 

/* Assigning new values to the array*/ 
list.1 = 10 
list.3 = 30 
listnew. = list. 

say listnew.1 
say listnew.2 
say listnew.3 

上述程序的输出将是:

10
0
30

遍历数组元素

也可以使用 Rexx 中可用的迭代语句来迭代数组元素。以下是如何执行此操作的示例:

示例

/* Main program */ 
list.1 = 10 
list.2 = 20 
list.3 = 30 

number_of_elements = 3 
do j = 1 to number_of_elements 
say list.j 
end 

关于上述程序,需要注意以下几点:

  • 使用**do 循环**遍历数组元素。

  • 变量**number_of_elements**用于存储数组中元素的数量。

  • 变量**j**用于迭代数组的每个元素。

上述程序的输出将是:

10
20
30

二维数组

前面也提到过,我们可以在 Rexx 中构造多维数组。让我们看一个如何实现二维数组的例子。

示例

/* Main program */ 
list.1 = 10 
list.1.1 = 11 
list.1.2 = 12 

say list.1 
say list.1.1 
say list.1.2 

上述程序的输出将如下所示:

10
11
12

关于上述程序,需要注意以下几点:

  • 要创建多维数组,我们可以使用另一层索引。因此,在我们的示例中,我们使用**list.1.1**为 list 数组的索引值 1 创建另一个内部数组。

广告