llListSort
list llListSort(list src, integer stride, integer ascending)
リストsrcを並び替える。
引数ascendingがTRUEだった場合は降順、FALSEだった場合は昇順に並ぶ。
strideは「リストのグルーピング」を指定する引数である。
llList2ListStrided関数の説明を見ていただくと、ストライドのイメージが多少なりともわかるかと思う。
引数ascendingがTRUEだった場合は降順、FALSEだった場合は昇順に並ぶ。
strideは「リストのグルーピング」を指定する引数である。
llList2ListStrided関数の説明を見ていただくと、ストライドのイメージが多少なりともわかるかと思う。
リスト型というのは通常、一列にデータが並んでいる構造であるが、ストライドを使うことで行列的に扱うことができる。
- 通常のリスト
[1,2,3,4,5,6,7,8,9....]
- ストライド(3つずつの場合)
[1,2,3,
4,5,6,
7,8,9
....]
4,5,6,
7,8,9
....]
上記のように、ストライドに3を指定した場合、リストの要素は3つ区切りで1グループとして扱われる。
これがどんなときに役立つかと言うと、例えばベンダーなどの作成時に、商品の名前、テクスチャ、価格をリストにまとめて管理したい場合がある。
これがどんなときに役立つかと言うと、例えばベンダーなどの作成時に、商品の名前、テクスチャ、価格をリストにまとめて管理したい場合がある。
list items = ["guiter", "texture1", 600, "drum", "texture2", 650, "bass", "texture3", 550 ];
このようなリストを商品の名前順に並べ替えたいとき、ストライドに3を指定すると良い。
list srt = llListSort(items, 3, TRUE);
結果は以下のようになる(商品名のアルファベット順に3つの要素が1セットで並び替えられる)。
["bass", "texture3", 550, "drum", "texture2", 650, "guiter", "texture1", 600 ]