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 建立另一個內部陣列。

廣告
© . All rights reserved.