ARRAYMSORTEX¶
函数名 | 参数 | 返回值 |
---|---|---|
![]() ARRAYMSORTEX | string , ref string[] (, int , int ) | 1 |
ref int , ref string[] (, int , int ) | 1 |
API
1. 1 ARRAYMSORTEX array_indexName, arrayNameList(, sortAscending, size)
2. 1 ARRAYMSORTEX array_indexArray, arrayNameList(, sortAscending, size)
与本家的 ARRAYMSORTEX
函数类似。
- 将名为
array_indexName
的数组变量重新排序,以排序后的顺序为基准,继续排列arrayNameList
里的矩阵。 - 将数组变量
array_indexArray
重新排序,以排序后的顺序为基准,继续排列arrayNameList
里的矩阵。
sortAscending
参数设置为「0
以外的数值」或直接省略时,顺序排列;否则倒序排列。若指定了 size
,则不将 0
/ 空字符串视为数组结尾,而是参考指定的数组范围。
提示
命令 / 行内函数两种写法均有效。
示例代码
MAIN.ERB
@SYSTEM_TITLE
#DIM array_index = 4, 3, 1, 2
#DIMS array_key = "1", "2", "3", "4"
#DIM array_a = 14, 13, 11, 12
#DIMS array_b = "D", "C", "A", "B"
#DIMS arrays_name = "array_index", "array_a", "array_b" ; 不加入 array_index 就不会重新排序
ARRAYMSORTEX array_index, arrays_name ; 顺序
PRINTFORML > array_index == {array_index},{array_index:1},{array_index:2},{array_index:3}
PRINTFORML > array_a == {array_a},{array_a:1},{array_a:2},{array_a:3}
PRINTFORML > array_b == %array_b%,%array_b:1%,%array_b:2%,%array_b:3%
PRINTL
ARRAYMSORTEX "array_key", arrays_name, 0 ; 倒序
PRINTFORML > array_key == %array_key%,%array_key:1%,%array_key:2%,%array_key:3%
PRINTFORML > array_a == {array_a},{array_a:1},{array_a:2},{array_a:3}
PRINTFORML > array_b == %array_b%,%array_b:1%,%array_b:2%,%array_b:3%
ONEINPUT
输出结果
> array_index == 1,2,3,4
> array_a == 11,12,13,14
> array_b == A,B,C,D
> array_key == 1,2,3,4
> array_a == 14,13,12,11
> array_b == D,C,B,A