Rexx - อาร์เรย์
อาร์เรย์ในภาษาโปรแกรมใด ๆ ช่วยให้คุณสามารถจัดกลุ่มรายการของค่าประเภทเดียวกันได้ การใช้อาร์เรย์คือการช่วยให้คุณสร้างรายการประเภทของค่าที่คล้ายกันซึ่ง ได้แก่sortable, searchable และสามารถ easily manipulated. Rexx ยังช่วยให้สามารถกำหนดอาร์เรย์ได้ อาร์เรย์เหล่านี้อาจเป็นมิติเดียวหรือหลายมิติ
อาร์เรย์ Rexx อาจเบาบาง นั่นคือไม่ใช่ว่าทุกตำแหน่งอาร์เรย์จะต้องมีค่าหรือแม้กระทั่งการเริ่มต้น อาจมีตำแหน่งอาร์เรย์ว่างหรือช่องระหว่างตำแหน่งที่มีองค์ประกอบข้อมูล หรืออาร์เรย์อาจมีความหนาแน่นซึ่งสล็อตอาร์เรย์ที่ต่อเนื่องกันทั้งหมดมีองค์ประกอบข้อมูล
ในหลายภาษาโปรแกรมคุณต้องกังวลว่าตัวห้อยของรายการแรกในตารางคืออะไร ตัวห้อยตัวเลขตัวแรกเป็น 0 หรือ 1? ใน Rexx ตัวห้อยแรกคืออะไรก็ได้ที่คุณใช้! ดังนั้นให้ป้อนองค์ประกอบอาร์เรย์แรกในตำแหน่ง 0 หรือ 1 ตามที่คุณต้องการ
array_name.0 = ‘first element’
หรือ
array_name.1 = ‘first element’
มาดูการดำเนินการต่างๆสำหรับอาร์เรย์
การสร้างอาร์เรย์
อาร์เรย์ถูกสร้างขึ้นด้วยหลักการตั้งชื่อเดียวกันซึ่งใช้สำหรับตัวแปรใน Rexx
ไวยากรณ์ทั่วไปสำหรับการสร้างอาร์เรย์มีดังนี้ -
Arrayname.index = value
ที่ไหน
Arrayname - นี่คือชื่อที่ระบุให้กับอาร์เรย์
Index - นี่คือตำแหน่งดัชนีในอาร์เรย์เพื่ออ้างถึงองค์ประกอบเฉพาะ
Value - นี่คือค่าที่กำหนดให้กับองค์ประกอบดัชนีในอาร์เรย์
ตัวอย่างการประกาศอาร์เรย์มีดังนี้ -
Example
/* Main program */
list.1 = 0
list.2 = 0
list.3 = 0
ประเด็นต่อไปนี้ต้องสังเกตเกี่ยวกับโปรแกรมข้างต้น -
- ชื่อของอาร์เรย์ถูกกำหนดเป็นรายการ
- มี 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
การแสดงค่าของอาร์เรย์
ค่าของอาร์เรย์สามารถแสดงได้โดยอ้างอิงตำแหน่งดัชนีขององค์ประกอบอาร์เรย์ ตัวอย่างต่อไปนี้แสดงเพื่อเข้าถึงองค์ประกอบต่างๆของอาร์เรย์
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
ผลลัพธ์ของโปรแกรมข้างต้นจะเป็นดังนี้ -
10
0
30
คัดลอกอาร์เรย์
องค์ประกอบทั้งหมดของอาร์เรย์สามารถคัดลอกไปยังอาร์เรย์อื่นได้ ไวยากรณ์ทั่วไปของสิ่งนี้มีดังนี้ -
Newarray. = sourcearray.
ที่ไหน
Newarray - นี่คืออาร์เรย์ใหม่ที่ต้องคัดลอกองค์ประกอบไปยัง
Sourcearray - นี่คืออาร์เรย์ต้นทางที่จำเป็นต้องคัดลอกองค์ประกอบ
ตัวอย่างวิธีดำเนินการคัดลอกสำหรับอาร์เรย์จะแสดงในโปรแกรมต่อไปนี้ -
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
ผลลัพธ์ของโปรแกรมข้างต้นจะเป็น -
10
0
30
การวนซ้ำผ่านองค์ประกอบอาร์เรย์
องค์ประกอบของอาร์เรย์สามารถทำซ้ำได้โดยใช้คำสั่งซ้ำที่มีอยู่ใน Rexx ตัวอย่างวิธีการทำได้มีดังนี้ -
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
คำแนะนำต่อไปนี้ต้องสังเกตเกี่ยวกับโปรแกรมข้างต้น -
do loop ใช้เพื่อวนซ้ำผ่านองค์ประกอบอาร์เรย์
ตัวแปร number_of_elements ใช้เพื่อจัดเก็บจำนวนองค์ประกอบในอาร์เรย์
variable j ใช้เพื่อวนซ้ำผ่านแต่ละองค์ประกอบของอาร์เรย์
ผลลัพธ์ของโปรแกรมข้างต้นจะเป็น -
10
20
30
อาร์เรย์สองมิติ
มีการกล่าวถึงด้วยว่าเราสามารถสร้างอาร์เรย์หลายมิติใน Rexx ได้ ลองดูตัวอย่างวิธีการใช้อาร์เรย์ 2 มิติ
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
ผลลัพธ์ของโปรแกรมข้างต้นจะแสดงดังนี้ -
10
11
12
ประเด็นต่อไปนี้ต้องสังเกตเกี่ยวกับโปรแกรมข้างต้น -
ในการสร้างอาร์เรย์หลายมิติเราสามารถใช้การสร้างดัชนีอีกชั้นหนึ่งได้ ดังนั้นในตัวอย่างของเราเราใช้list.1.1 เพื่อสร้างอาร์เรย์ภายในอื่นสำหรับค่าดัชนี 1 ของอาร์เรย์รายการ