ARRAYMSORTEX¶
関数名 | 引数 | 戻り値 |
---|---|---|
![]() ARRAYMSORTEX | string , ref string[] (, int , int ) | 1 |
ref int , ref string[] (, int , int ) | 1 |
API
1. 1 ARRAYMSORTEX indexName, arrayNameList(, sortAscending, size)
2. 1 ARRAYMSORTEX indexArray, arrayNameList(, sortAscending, size)
本家版ARRAYMSORTEX
と似ています。
indexName
で表した変数配列を並べ替え,そのソートを基準に,arrayNameList
内すべての配列を同じ順で並べ替えます。indexArray
を並べ替え,そのソートを基準に,arrayNameList
内すべての配列を同じ順で並べ替えます。
sortAscending
が0
以外または省略した場合,昇順で並べ替え,そうでない場合,降順で並べ替えます。size
を指定した場合、0
または空文字列で終わるの代わりに、指定サイズの配列に参照します。
ヒント
命令、式中関数両方対応しています。
例
MAIN.ERB
@SYSTEM_TITLE
#DIM idx = 4,2,3,1
#DIMS idxStr = "1","2","3","4"
#DIM AA = 1,2,3,4
#DIM BB = 5,3,1,2
#DIMS Arrays = "idx", "AA", "BB" ; idxを入れないとidxを並び替えしない
ARRAYMSORTEX idx, Arrays ;正順
PRINTFORML > idx == {idx},{idx:1},{idx:2},{idx:3}
PRINTFORML > AA == {AA},{AA:1},{AA:2},{AA:3}
PRINTFORML > BB == {BB},{BB:1},{BB:2},{BB:3}
PRINTL
ARRAYMSORTEX "idxStr", Arrays, 0 ;逆順
PRINTFORML > idxStr == %idxStr%,%idxStr:1%,%idxStr:2%,%idxStr:3%
PRINTFORML > AA == {AA},{AA:1},{AA:2},{AA:3}
PRINTFORML > BB == {BB},{BB:1},{BB:2},{BB:3}
ONEINPUT
結果
> idx == 1,2,3,4
> AA == 4,2,3,1
> BB == 2,3,1,5
> idxStr == 1,2,3,4
> AA == 1,3,2,4
> BB == 5,1,3,2