2007年10月23日
リスト(LSL リファレンス)
・リストを連結する。 list src = ["dog", "cat","fish"]; src+=["cow"]; src は ["dog", "cat","fish","cow"] となる。 ・リストを初期化する。 list src=[];
リスト系の関数
名称 | 内容 |
llList2String | リストの指定要素をString型にキャストして取り出す。 |
llList2Float | リストの指定要素をFloat型にキャストして取り出す。 |
llList2Integer | リストの指定要素をInteger型にキャストして取り出す。 |
llList2Key | リストの指定要素をKey型にキャストして取り出す。 |
llList2Vector | リストの指定要素をVector型にキャストして取り出す。 |
llList2Rot | リストの指定要素をrotation型にキャストして取り出す。 |
llList2List | リストの指定部分を抜き出す。 |
llList2ListStrided | リストの要素をブロック単位で切り分けて抜き出す。 |
LlGetListLength | リストの要素数を返す。 |
llListFindList | リストの中を検索し、要素番号を返す。 |
llParseString2List | 指定した区切り文字でリストを作成する。 |
llListReplaceList | リストの指定要素を置換する。 |
llDeleteSubList | リストの指定要素を削除する。 |
llListInsertList | リストに別のリストを挿入する。 |
llListSort | リストをソートする。 |
llListRandomize | リストをランダムに並び替える。 |
llListStatistics | リストの各種統計情報を返す。 |
llList2String llList2Float llList2Integer llList2Key llList2Vector llList2Rot <機能> リストの指定要素をそれぞれの型にキャストして取り出す。 <構文>
string | llList2String | (list src, integer index) | string型にキャスト |
float | llList2Float | (list src, integer index) | float型にキャスト |
integer | llList2Integer | (list src, integer index) | integer型にキャスト |
key | llList2Key | (list src, integer index) | key型にキャスト |
vector | llList2Vector | (list src, integer index) | vector型にキャスト |
rot | llList2Rot | (list src, integer index) | rotation型にキャスト |
llList2List <機能> リストの指定部分を抜き出す。 <構文> list llList2List(list src, integer start, integer end) * src : 元となるリストを指定する。 * start : 開始の要素番号を指定する。(先頭要素は、0) * end : 終了の要素番号を指定する。 <例> list src = ["dog", "cat","fish","cow","bird","monkey"]; list hoge = llList2List(src, 2, 5); // hogeには ["fish","cow","bird","monkey"] が入る。 list hoge = llList2List(src, 4, -1); // hogeには ["bird","monkey"] が入る。 list hoge = llList2List(src, 4, 1); // hogeには ["dog", "cat","bird","monkey"] が入る。 ページ先頭へ
llList2ListStrided <機能> リストの要素をブロック単位で切り分けて抜き出す <構文> list llList2ListStrided(list src, integer start, integer end, integer stride) * src : 元となるリストを指定する。 * start : 開始の要素番号を指定する。(先頭要素は、0) * end : 終了の要素番号を指定する。 * stride: 要素のブロック単位を指定する。 <例> 下記の例では、全要素を2個のブロック単位に分けたときの最初の要素を返す。 list src = ["dog", "cat","fish","cow","bird","monkey"]; list hoge = llList2ListStrided(src, 0, -1, 2); // hogeには ["dog", "fish","bird"] が入る。 ページ先頭へ
llGetListLength <機能> リストの要素数を返す。 <構文> integer llGetListLength(list src) * src : 元となるリストを指定する。 <例> list src = ["dog", "cat","fish","cow","bird","monkey"]; integer hoge = llGetListLength(src); // hogeには 6 が入る。 ページ先頭へ
llListFindList <機能> リストの中を検索し、要素番号を返す。 <構文> integer llListFindList(list src, list srch) * src : 元となるリストを指定する。 * srch : 検索キーワードを指定する。 <例> list src = ["dog", "cat","fish","cow","bird","monkey"]; list srch = ["bird"]; integer hoge = llListFindList(src,srch); // hogeには 4 が入る。 list srch = ["wolf"]; integer hoge = llListFindList(src,srch); // hogeには -1 が入る。 * キーワードが見つからない場合は、-1を返す。 ページ先頭へ
llParseString2List <機能> 指定した区切り文字でリストを作成する。 <構文> list llParseString2List(string src, list separators, list spacers) * src : 元となる文字列を指定する。 * separators : 区切り文字を指定する。 * spacers : 区切り文字もリストの一部として含めたい場合は、こちらに区切り文字を指定する。 <例> string src = "dog/cat/fish"; list hoge = llParseString2List(src,["/"],[]); // hogeには ["dog", "cat","fish"] が入る。 list hoge = llParseString2List(src,[],["/"]); // hogeには ["dog","/", "cat","/","fish"] が入る。 ページ先頭へ
llListReplaceList <機能> リストの指定要素を置換する。 <構文> list llListReplaceList(list dest, list src, integer start, integer end) * dest : 置換先のリストを指定する。 * src : 置換後のリストを指定する。 * start : 置換の開始要素番号を指定する。(先頭要素は、0) * end : 置換の終了要素番号を指定する。 <例> list dest = ["dog", "cat","fish","cow"]; list src = ["bird"]; list hoge = llListReplaceList(dest,src,2,2); // hogeには ["dog", "cat","bird","cow"] が入る。 ページ先頭へ
llDeleteSubList <機能> リストの指定要素を削除する。 <構文> list llDeleteSubList(list src, integer start, integer end) * src : 元となるリストを指定する。 * start : 削除する要素の開始番号を指定する。(先頭要素は、0) * end : 削除する要素の終了番号を指定する。 <例> list src = ["dog", "cat","fish","cow"]; list hoge = llDeleteSubList(src,2,3); // hogeには ["dog", "cat"] が入る。 ページ先頭へ
llListInsertList <機能> リストに別のリストを挿入する。 <構文> list llListInsertList(list dest, list src, integer index) * dest : 挿入先のリストを指定する。 * src : 挿入元のリストを指定する。 * index : 挿入先の要素番号を指定する。(先頭要素は、0) <例> list dest = ["dog", "cat","fish"]; list src = ["lion","horse"]; list hoge = llListInsertList(dest,src,2); // hogeには ["dog", "cat","lion","horse","fish"]; が入る。 ページ先頭へ
llListSort <機能> リストをソートする。 <構文> list llListSort(list src, integer stride, integer ascending) * src : 挿入元のリストを指定する。 * stride : 要素のブロック単位を指定する。 * ascending : 昇順か降順を指定する。(昇順:TRUE,降順:FALSE) <例> list src = ["2","dog","4","cat","1","fish","3","cow"]; list hoge = llListSort(src,1,TRUE); // hogeには ["1","2","3","4","cat","cow","dog","fish"]; が入る。 下記の例では、要素を2個のブロック単位に分けソートする。 list hoge = llListSort(src,2,TRUE); // hogeには ["1","fish","2","dog","3","cow","4","cat"]; が入る。 ページ先頭へ
llListRandomize <機能> リストをランダムに並び替える。 <構文> list llListRandomize(list src, integer stride) * src : 挿入元のリストを指定する。 * stride : 要素のブロック単位を指定する。 <例> list src = ["2","dog","4","cat","1","fish","3","cow"]; list hoge = llListRandomize(src,2); ページ先頭へ
llListStatistics <機能> リストの各種統計情報を返す。(integer型,float型のみ有効) <構文> float llListStatistics(integer operation, list src) * operation : 統計の種類を指定する。 * src : 元となるリストを指定する。 [operation定数]
Statistical Operation | Value | Description |
LIST_STAT_RANGE | 0 | リストの範囲を返す。 |
LIST_STAT_MIN | 1 | 最小値を返す。 |
LIST_STAT_MAX | 2 | 最大値を返す。 |
LIST_STAT_MEAN | 3 | 平均値の値を返す。 |
LIST_STAT_MEDIAN | 4 | リストの中間の値を返す。 |
LIST_STAT_STD_DEV | 5 | 標準偏差を返す。 |
LIST_STAT_SUM | 6 | 合計値を返す。 |
LIST_STAT_SUM_SQUARES | 7 | 2乗した値の合計値を返す。 |
LIST_STAT_NUM_COUNT | 8 | floar型とinteger型の要素数を返す。 |
LIST_STAT_GEOMETRIC_MEAN | 9 | 幾何平均を返す。 |
2007年10月23日
文字列(LSL リファレンス)
・文字列を連結する。 string Name = "Hello" + " " + "World"; (文字列の連結にはプラス記号(+)を使用する) Name は "Hello World" となる。 ・文字列の初期化。 string Fullname = ""; ・特殊文字 \t タブ \n 改行 \" ダブルコーテーション \\ バックスラッシュ
文字列系の関数
名称 | 内容 |
llStringLength | 文字列の長さを取得する。 |
llGetSubString | 文字列の一部を切り出す。 |
llSubStringIndex | 文字列の中から指定した文字の位置を返す。 |
llDeleteSubString | 文字列の一部を削除する。 |
llStringTrim | 文字列中のスペースを削除する。 |
llToLower | 指定した半角文字列を小文字に変換する。 |
llToUpper | 指定した半角文字列を大文字に変換する。 |
llUnescapeURL | URLエンコード(UTF-8)された文字列をデコードする。 |
llStringLength <機能> 文字列の長さを取得する。 <構文> integer llStringLength(string src) * src : 元となる文字列を指定する。 <例> string src = "Hello World"; integer hoge = llStringLength(src); // hogeには 11 が入る。 ページ先頭へ
llGetSubString <機能> 文字列の一部を切り出す。 <構文> string llGetSubString(string src, integer start, integer end) * src : 元となる文字列を指定する。 * start : 開始位置の番号を指定する。(先頭文字は0番目となる) * end : 終了位置の番号を指定する。 <例> string src = "Hello World"; string hoge = llGetSubString(src,1,4); // hogeには "ello" が入る。 ページ先頭へ
llSubStringIndex <機能> 文字列の中から指定した文字の位置を返す。指定文字が見つからない場合は、-1を返す。 返される位置は、0から始まるので注意。 <構文> integer llSubStringIndex(string source, string pattern) * source: 検索対象の文字列を指定する。 * pattern: 検索する文字列を指定する。 <例> string src = "abcdefg"; integer index= llSubStringIndex(src,"cd"); // indexには 2 が入る。 integer index= llSubStringIndex(src,"xyz"); // indexには -1 が入る。 ページ先頭へ
llDeleteSubString <機能> 文字列の一部を削除する。 <構文> string llDeleteSubString(string src, integer start, integer end) * src : 元となる文字列を指定する。 * start : 開始位置の番号を指定する。(先頭文字は0番目となる) * end : 終了位置の番号を指定する。 <例> string src = "Hello World"; string hoge = llDeleteSubString(src,1,4); // hogeには "H World" が入る。 ページ先頭へ
llStringTrim <機能> 文字列中のスペースを削除する。 <構文> string llStringTrim(string src, integer type) * src : 元となる文字列を指定する。 * type : 削除のタイプを指定する。 [type定数] STRING_TRIM_HEAD 前のスペース STRING_TRIM_TAIL 後のスペース STRING_TRIM 前後のスペース <例> string src = " Hello World "; string hoge = llStringTrim(src,STRING_TRIM_HEAD); // hogeには "Hello World " が入る。 string hoge = llStringTrim(src,STRING_TRIM_TAIL); // hogeには " Hello World" が入る。 string hoge = llStringTrim(src,STRING_TRIM); // hogeには "Hello World" が入る。 ページ先頭へ
llToLower <機能> 指定した半角文字列を小文字に変換する。 <構文> string llToLower(string src) * src : 元となる文字列を指定する。 <例> string src = "HELLO WORLD"; string hoge = llToLower(src); // hogeには "hello world" が入る。 ページ先頭へ
llToUpper <機能> 指定した半角文字列を大文字に変換する。 <構文> string llToUpper(string src) * src : 元となる文字列を指定する。 <例> string src = "hello world"; string hoge = llToUpper(src); // hogeには "HELLO WORLD" が入る。 ページ先頭へ
llUnescapeURL <機能> URLエンコード(UTF-8)された文字列をデコードする。 SLで日本語表示を行うときに良く使用される。 <構文> string llUnescapeURL(string url) * url : URLエンコード文字列を指定します。 <例> // "こんにちは"と表示する。 llSay(0,llUnescapeURL("%e3%81%93%e3%82%93%e3%81%ab%e3%81%a1%e3%81%af")); 以下のサイトでエンコードが可能。 TAG index(URLエンコード・デコードフォーム) (文字コードは,UTF-8にする) ページ先頭へ