LlGetSubString/ja
From Second Life Wiki
メインページ > LlGetSubString > LlGetSubString/ja
例
default { state_entry() { string word = "Hello!"; llOwnerSay(llGetSubString(word, 0, 0)); // Object: H と表示されます。 llOwnerSay(llGetSubString(word, -1, -1)); // Object: ! と表示されます。 llOwnerSay(llGetSubString(word, 2, 3)); // Object: ll と表示されます。 } }
ノート
範囲とインデックス
インデックス範囲の説明を容易にするため、まず全てのインデックスを正 (プラス) に変換してください。負のインデックスは先頭でなく末尾から数えたもので、負のインデックスは全て対応する正のインデックスを (範囲に収まる限りは) 持ちます。末尾 (最後のインデックス) を過ぎた正のインデックス、先頭 (最初のインデックス) より前の負のインデックスは有効で、その結果は予測可能かつ信頼できます。すなわち、その要素はあたかも存在するかのように扱われますが、それは出力されるまでの間に限ります。
- start <= end の場合、範囲は start から end となります。 [start, end]
- start > end の場合、範囲は 0 から end、および start から -1 となります。 [0, end] + [start, -1]
- end が先頭より前の負のインデックスの場合、範囲は [start, -1] となります。
- end が末尾より後の正のインデックスの場合、範囲は [0, end] となります。
- start と end がいずれも有効な範囲から外れていた場合、関数は処理すべき範囲を持たないことになります。(事実上、関数の呼び出しは無駄になります。)
詳細は負のインデックスを参照してください。インデックスはゼロから開始されます。従って start, end ともに 0 を指定した場合、最初の一文字だけが戻り値になります。負のインデックスは、末尾から先頭に向かって数えてゆきます。従って -1 は末尾の一文字を指すのに便利です。インデックスは正/負を取り混ぜて使えます。従って例えば位置指定の start, end にそれぞれ 0, -1 を指定した場合、文字列全体が戻り値になります。
文字列の長さを確かめたい場合は llStringLength を使ってください。
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。

