ソラマメ ブログ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 4人
オーナーへメッセージ
QRコード
QRCODE

気ままな一言

ご質問等、ページへのリンクはご自由に。気軽にコメントでもどうそ~
詳しいことは角川SIMのサポートセンターまでいらっしゃいませっ

世間知らずなので逆にいろいろ教えてください♪

2007年07月01日

リスト 【LSL】

llGetListEntryTypeリストの指定要素の型を取得する。
llGetListLengthリストの要素数を取得する。
llListInsertListリストの指定位置へ別のリストを挿入する。
llDeleteSubListリストから指定範囲の要素を削除する。
llListReplaceListリストの一部を置換する。
llListFindListリストから指定要素の位置を返す。
llList2Integerリストから integer型の要素を取り出す。
llList2Floatリストから float型の要素を取り出す。
llList2Keyリストから key型の要素を取り出す。
llList2Stringリストから string型の要素を取り出す。
llList2Rotリストから rotation型の要素を取り出す。
llList2Vectorリストから vector型の要素を取り出す。
llCSV2ListCSV文字列をリストに変換する。
llList2CSVリストを CSV文字列に変換する。
llList2Listリストから指定範囲の要素を取得する。
llListSortリストをソートする。
llListRandomizeリストの要素をランダムに並び替える。
llList2ListStridedリストから指定間隔の要素を抜き出す。


integer llGetListEntryType(list src, integer index)
srcリスト
indexインデックス

リストの指定要素の型を取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llGetListLength(list src)
srcリスト

リストの要素数を取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
list llListInsertList(list dest, list src, integer start)
dest挿入される元となるリスト
src挿入するリスト
start挿入するインデックス

destの指定位置へsrcを挿入した新しいリストを返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
list llDeleteSubList(list src, integer start, integer end)
dest削除される元となるリスト
start開始インデックス
end終了インデックス

srcから指定範囲の要素を削除した新しいリストを返します。
    llDeleteSubList([ 0, 1, 2, 3, 4, 5 ], 1, 3);  // [ 0, 4, 5 ]
    llDeleteSubList([ 0, 1, 2, 3, 4, 5 ], 0, -1); // []
    llDeleteSubList([ 0, 1, 2, 3, 4, 5 ], 8, 2);  // [ 3, 4, 5 ]

▲上へ ■LSL Portal ■LSL Portal (日本語)
list llListReplaceList(list dest, list src, integer start, integer end)
dest置換される元となるリスト
src置換するリスト
start開始インデックス
end終了インデックス

destから指定範囲の要素をsrcで置換した新しいリストを返します。
    llListReplaceList([ 0, 1, 2, 3, 4, 5 ], [ "a", "b", "c" ], 1, 3);  // [ 0, "a", "b", "c", 4, 5 ]
    llListReplaceList([ 0, 1, 2, 3, 4, 5 ], [ "a", "b", "c" ], 0, -1); // [ "a", "b", "c" ]
    llListReplaceList([ 0, 1 ], [ "a", "b", "c" ], 10, 10); // [ 0, 1, "a", "b", "c" ]

▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llListFindList(list src, list test)
srcリスト
test検索するリスト

srcからtestの見つかったインデックス返します。
見つからなかった場合は-1を返します。
値の型及びリスト要素の順も一致する必要があります。

▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llList2Integer(list src, integer index)
srcリスト
indexインデックス

リストから integer型の要素を取り出します。
変換に失敗したときは0を返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
float llList2Float(list src, integer index)
srcリスト
indexインデックス

リストから float型の要素を取り出します。
変換に失敗したときは0を返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
key llList2Key(list src, integer index)
srcリスト
indexインデックス

リストから key型の要素を取り出します。
変換に失敗したときはNULL_KEYを返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
string llList2String(list src, integer index)
srcリスト
indexインデックス

リストから string型の要素を取り出します。
変換に失敗したときは""を返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
rotation llList2Rot(list src, integer index)
srcリスト
indexインデックス

リストから rotation型の要素を取り出します。
変換に失敗したときはZERO_ROTATIONを返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
vector llList2Vector(list src, integer index)
srcリスト
indexインデックス

リストから vector型の要素を取り出します。
変換に失敗したときはZERO_VECTORを返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
list llCSV2List(string src)
srcCSV形式(カンマ区切り)文字列

CSV形式の文字列をリストに変換します。

llParseStringKeepNulls(src, [ "," ], []) とほぼ同様の処理が行われますが、
rotation 型や vector 型と認識できる場合は、型単位で分割されます。
(正確には '<' から '>'以降の ',' までを1つとして認識するようです)
    llCSV2List("0,1,<2,3,4>,5,<6,7,8,9>");  // [ 0, 1, <2,3,4>, 5, <6,7,8,9> ]  length = 5
    llCSV2List("0,1,<2,3,4,5,6>7,8,9");     // [ 0, 1, <2,3,4,5,6>7, 8, 9 ]     length = 5
    llCSV2List("0,1,<2,3,4,5,6,7,8,9");     // [ 0, 1, <2,3,4,5,6,7,8,9 ]       length = 3
また、CSVの仕様とは異なりエスケープ処理は行われません。
(例えば、"," は " 2つに分割されます)
    llCSV2List("\"0,1,2\",3,4");  // [ "0, 1, 2", 3, 4 ]  length = 5

▲上へ ■LSL Portal ■LSL Portal (日本語)
string llList2CSV(list src)
srcリスト

リストをCSV形式の文字列に変換します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
list llList2List(list src, integer start, integer end)
srcリスト
index開始インデックス
end終了インデックス

リストから指定範囲の要素のリストを返します。
    llList2List([ 0, 1, 2, 3, 4, 5 ], 1, 3);  // [ 1, 2, 3 ]

▲上へ ■LSL Portal ■LSL Portal (日本語)
list llListSort(list src, integer stride, integer ascending)
srcリスト
stride基準となる要素の間隔(1~)
ascendingTRUE … 昇順
FALSE … 降順

srcの要素をソートした新しいリストを返します。
比較は同じ型同士のみで行われます。
    // 現れた種別の順はそのまま
llListSort([ 1, "C", 3, "A", 2, "B" ], 1, TRUE); // [ 1, "A", 2, "B", 3, "C" ] llListSort([ 1, 3, 2, "C", "A", "B" ], 1, TRUE); // [ 1, 2, 3, "A", "B", "C" ] // 1, 3, 2がソート対象 llListSort([ 1, "C", 3, "A", 2, "B" ], 2, TRUE); // [ 1, "C", 2, "B", 3, "A" ]

▲上へ ■LSL Portal ■LSL Portal (日本語)
list llListRandomize(list src, integer stride)
srcリスト
stride要素順を保つ間隔(1~)

srcの要素をランダムに並び替えた新しいリストを返します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
list llList2ListStrided(list src, integer start, integer end, integer stride)
srcリスト
index開始インデックス
end終了インデックス
stride要素の間隔(1~)

srcから指定範囲の要素を指定間隔で抜き出します。
    // すべての要素を対象に3つおきに取得
    llList2ListStrided([ 0, 1, 2, 3, 4, 5, 6, 7, 8 ], 0, -1, 3); // [ 0, 3, 6 ]
    // インデックス1~7の場合。strideはリストの先頭が基準となる。
    llList2ListStrided([ 0, 1, 2, 3, 4, 5, 6, 7, 8 ], 1, 7, 3);  // [ 3, 6 ]

▲上へ ■LSL Portal ■LSL Portal (日本語)


同じカテゴリー(LSLリファレンス)の記事画像
イベント 【LSL】
同じカテゴリー(LSLリファレンス)の記事
 LSLリファレンスマニュアル (2007-07-01 18:28)
 型【LSL】 (2007-07-01 07:45)
 定義値【LSL】 (2007-07-01 07:23)
 イベント 【LSL】 (2007-07-01 06:16)
 アバター 【LSL】 (2007-07-01 05:35)
 オブジェクト 【LSL】 (2007-07-01 05:25)
Posted by れむ at 02:49 │LSLリファレンス