在创建数组时不需要声明大小,Array可以动态调整。数组的大小受可用内存的限制。
声明数组
Local Array of Number &MYARRAY;
Local Array &ARRAYANY;
Local
Array
of
Array
of
Array
of Number &MYARRAY;
Local
Array
of
Array
&MYA2;
可以用CreateArray实例化数组
&MYARRAY =
CreateArray(&TEMP); /*实例化一个一维数组,包含一个元素值为&TEMP*/
&MYARRAY =
CreateArrayRept(&MYSTRING, 3); /*实例化一个一维数组,包含3个元素值都为&MYSTRING*/
数组操作
索引从1开始
&MyArray[1] = 123;
&temp = &memory[1][2][3];
&temp = &memory[1, 2, 3]; /* Same as preceding line. */
MyFunc(&MyArray[7]);
MyFunc(10)[15] = "a string";
数组常用于数据库读取数据
Function get_gp_gl_group(&pinNum As string) Returns array of array of any
Local string &sql = "Select PAY_ENTITY,BUSINESS_UNIT,GROUPING_CODE From Ps_Gp_Gl_Group_Dtl pgd Where pgd.pin_num=:1";
Local SQL &grpRec = CreateSQL(&sql, &pinNum);
Local array of array of any &grpArray = CreateArrayRept(CreateArrayAny(), 0);
Local array of any &grpAtt = CreateArrayAny();
Local number &i = 1;
While &grpRec.Fetch(&grpAtt)
&grpArray.Push(&i);
&grpArray [&i].Push(&grpAtt);
&i = &i + 1;
End-While;
&grpRec.Close();
Return &grpArray;
End-Function;
数组声明
|
Local
array of any &ARY_ROW;
Local
array of array of any &ARY_SQLRST_SET;
Local array of array of array of any &ARY3D; | |
数组初始化
|
&ARY_ROW =
CreateArrayAny();
&ARY_SQLRST_SET =
CreateArray(CreateArrayAny());
&ARY3D = CreateArray(CreateArray(CreateArrayAny())); | |
从数组头部取出元素
|
&ARY_SQLRST_SET.
Shift()
| |
向数组头部添加元素
|
&MYARRAY.
Unshift(300)
| |
从数组尾部取出元素
|
&ARY_SQLRST_SET.
Pop()
| |
向数组尾部添加元素
|
&ARY_SQLRST_SET.
Push(CreateArrayAny())
| |
在数组中查找元素 |
&ARR.
FIND(&EMPLID)
|