陣列 - 定義和訪問
Progress 支援一維陣列,但它們被稱為 EXTENTS
。
/* Define a character array with the length 5, and display it's length */
DEFINE VARIABLE a AS CHARACTER EXTENT 5 NO-UNDO.
DISPLAY EXTENT(a).
使用標準c 型支架訪問陣列中的各個位置。但索引從 1 開始。最大大小為 28000。
a[1] = "A".
a[2] = "B".
a[3] = "C".
a[4] = "D".
a[5] = "E".
DISPLAY a[5].
結果:
索引 0 將生成錯誤:
DISPLAY a[0].
結果:
你還可以定義不具有設定長度的不確定陣列。長度(範圍)可以在執行時設定。但只有一次!
DEFINE VARIABLE a AS CHARACTER EXTENT NO-UNDO.
EXTENT(a) = 10.
EXTENT(a) = 1.
第三行將產生以下錯誤:
你可以使用 DEFINE VARIABLE
語句中的 INITIAL
選項來設定初始值。
DEFINE VARIABLE a AS CHARACTER EXTENT 3 INITIAL ["one","two","three"] NO-UNDO.
/* Some statements (like DISPLAY) can handle a whole array: */
DISPLAY a.
結果:
如果未設定所有範圍,則剩餘的將獲得最後設定的值:
DEFINE VARIABLE a AS CHARACTER EXTENT 10 INITIAL ["one","two","three"] NO-UNDO.
DISPLAY a.
結果: