Skip to content

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と似ています。

  1. indexNameで表した変数配列を並べ替え,そのソートを基準に,arrayNameList内すべての配列を同じ順で並べ替えます。
  2. indexArrayを並べ替え,そのソートを基準に,arrayNameList内すべての配列を同じ順で並べ替えます。

sortAscending0以外または省略した場合,昇順で並べ替え,そうでない場合,降順で並べ替えます。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

関連項目