Rexx - Mảng

Mảng trong bất kỳ ngôn ngữ lập trình nào cho phép bạn nhóm một danh sách các giá trị cùng kiểu. Việc sử dụng mảng là nó cho phép bạn xây dựng danh sách các loại giá trị tương tựsortable, searchable và có thể được easily manipulated. Rexx cũng cho phép người ta xác định mảng. Các mảng này có thể là một chiều hoặc nhiều chiều.

Các mảng rexx có thể thưa thớt. Có nghĩa là, không phải mọi vị trí mảng đều phải có giá trị hoặc thậm chí được khởi tạo. Có thể có các vị trí mảng trống hoặc vị trí giữa các vị trí có chứa các phần tử dữ liệu. Hoặc mảng có thể dày đặc, trong đó các vị trí mảng liên tiếp đều chứa các phần tử dữ liệu.

Trong nhiều ngôn ngữ lập trình, bạn phải quan tâm đến chỉ số con của mục nhập đầu tiên trong bảng là gì. Chỉ số con đầu tiên là 0 hay 1? Trong Rexx, chỉ số đầu tiên là bất cứ thứ gì bạn sử dụng! Vì vậy, hãy nhập phần tử mảng đầu tiên vào vị trí 0 hoặc 1 tùy thích.

array_name.0 = ‘first element’

hoặc là

array_name.1 = ‘first element’

Hãy xem xét các hoạt động khác nhau có sẵn cho mảng.

Tạo Mảng

Mảng được tạo với cùng một quy ước đặt tên được sử dụng cho các biến trong Rexx.

Cú pháp chung để tạo mảng như sau:

Arrayname.index = value

Ở đâu

  • Arrayname - Đây là tên được cung cấp cho mảng.

  • Index - Đây là vị trí chỉ mục trong mảng để tham chiếu đến một phần tử cụ thể.

  • Value - Đây là giá trị được gán cho phần tử chỉ số trong mảng.

Ví dụ về khai báo mảng như sau:

Example

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

Những điểm sau đây cần lưu ý về chương trình trên:

  • Tên của mảng được đưa ra dưới dạng danh sách
  • Có 3 phần tử của mảng được khởi tạo bằng giá trị 0.

Gán giá trị cho một phần tử mảng

Giá trị có thể được gán lại cho các phần tử mảng theo cách giống như các phần tử mảng được khởi tạo.

Chương trình sau đây là một ví dụ về các giá trị có thể được gán cho các giá trị chỉ mục khác nhau của một mảng hiện có.

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

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

Hiển thị các giá trị của một mảng

Các giá trị của một mảng có thể được hiển thị bằng cách tham chiếu đến vị trí chỉ mục của phần tử mảng. Ví dụ sau cho thấy để truy cập các phần tử khác nhau của mảng.

Example

/* 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

Kết quả của chương trình trên sẽ như sau:

10
0
30

Sao chép Mảng

Tất cả các phần tử của một mảng có thể được sao chép vào một mảng khác. Cú pháp chung của điều này như sau:

Newarray. = sourcearray.

Ở đâu

  • Newarray - Đây là mảng mới trong đó các phần tử cần được sao chép vào.

  • Sourcearray - Đây là mảng nguồn mà từ đó các phần tử cần được sao chép.

Một ví dụ về cách các hoạt động sao chép cho mảng có thể được thực hiện trong chương trình sau:

Example

/* 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

Đầu ra của chương trình trên sẽ là:

10
0
30

Lặp lại qua các phần tử mảng

Các phần tử của một mảng cũng có thể được lặp lại bằng cách sử dụng các câu lệnh lặp có sẵn trong Rexx. Một ví dụ về cách điều này có thể được thực hiện như sau:

Example

/* 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

Các điểm sau đây cần được lưu ý về chương trình trên:

  • Các do loop được sử dụng để lặp qua các phần tử của mảng.

  • Biến number_of_elements được sử dụng để lưu trữ số lượng phần tử trong mảng.

  • Các variable j được sử dụng để lặp qua từng phần tử của mảng.

Đầu ra của chương trình trên sẽ là:

10
20
30

Mảng hai chiều

Nó cũng đã được đề cập rằng chúng ta có thể xây dựng các mảng đa chiều trong Rexx. Hãy xem một ví dụ về cách chúng ta có thể triển khai mảng 2 chiều.

Example

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

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

Kết quả của chương trình trên sẽ được hiển thị như sau:

10
11
12

Điểm sau đây cần lưu ý về chương trình trên:

  • Để tạo một mảng đa chiều, chúng ta có thể sử dụng một lớp lập chỉ mục khác. Vì vậy, trong ví dụ của chúng tôi, chúng tôi đã sử dụnglist.1.1 để tạo một mảng bên trong khác cho giá trị chỉ số 1 của mảng danh sách.