BlackSheep-LSL@Wiki

llListSort

最終更新:

mizcremorne

- view
メンバー限定 登録/ログイン

llListSort

list llListSort(list src, integer stride, integer ascending)

リストsrcを並び替える。
引数ascendingがTRUEだった場合は降順、FALSEだった場合は昇順に並ぶ。
strideは「リストのグルーピング」を指定する引数である。
llList2ListStrided関数の説明を見ていただくと、ストライドのイメージが多少なりともわかるかと思う。

リスト型というのは通常、一列にデータが並んでいる構造であるが、ストライドを使うことで行列的に扱うことができる。
  • 通常のリスト
 [1,2,3,4,5,6,7,8,9....]
  • ストライド(3つずつの場合)
 [1,2,3,
  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
]
名前:
コメント:
記事メニュー
目安箱バナー