Category:LSL String/ja

From Second Life Wiki
Jump to navigation Jump to search

stringはテキストデータです。stringの長さは、有効なスクリプト容量の限界までです。 Stringの値はLSLテキストを定義するときに、ダブルクォーテーション(" ")て囲まれます。いくつかの文字はエスケープされる必要があるだろうけれど、stringで用いることができるでしょう。

stringは+演算子を用いて結合させることができます。

Escape Codes

Substring Replaced with
\t 4スペース
\n 改行
\" ダブルクオーテーション
\\ バックスラッシュ
String 例:
"Hello Avatar!"
"Yes"
"No"
"It's 10 o'clock."
"I am 21 years old!"
"Help " + "me"
EOF

//以下の2つのstringは同じ値です。

"I scream,\nyou scream,\nwe all scream,\nfor ice-cream!"
"I scream,
you scream,
we all scream,
for ice-cream!"

Note: エスケープコード(上記一覧)はスクリプトがコンパイルされるときに翻訳され、動いてる間はされません。 stringはコンパイルされたとき、結果としてスクリプト内部の\nを"改行"文字に変換するでしょう。ノートカード、チャット、httpその他から読み込むテキストはエスケープコードではチェックされませんから、ノートカードでの\n入力は自動で"改行"文字には変換されません。自らしなければなりませんが、本当に本当に必要な場合だけにすべきです。

Note: CとJavaや同様な言語からLSLに入った人は、始めたばかりの間はLSL stringのエスケープルールで混乱するでしょう。 LSLの"\n"の意味はllUnescapeURL("%0A")で、CとJavaに似てますが、"\t"の意味はllUnescapeURL("%09")よりllUnescapeURL("%20%20%20%20") が最適で、"\r"の意味はllUnescapeURL("%0D")よりも"r"が最適、などなど。


変数: string name;

string name;

宣言するstring型の変数をnameと名づけて、""にします。

• variable name 変数名

変数: string name = value;

string name = value;

宣言するstring型の変数をnameと名づけて、valueの値をいれます。

• variable name 変数名
• expression value string 要素もしくは定型値

型の変換: (string)value

(string)value

valueをstring型の値に変換します。

• expression value 要素もしくは定型値

演算子

ほかの情報は演算子 を参照します。

結合: value1 + value2

(value1 + value2)

入力での編集以外で、2つのstringを1つのstringに結合します。value2value1を加えて、結果のstringに返します。

• expression value1 string 要素もしくは定型値
• expression value2 string 要素もしくは定型値

比較: value1 == value2

(value1 == value2)

2つのstringを比較して、同じ長さで同じ文字なら1を返し、そうでなければ0を返します。 この演算子はCの!strcmp(value1, value2)と極めて似たような働きをし、従ってCやJavaでの == 演算子と直観的に異なる故に、技術的に異なるものです。

• expression value1 string 要素もしくは定型値
• expression value2 string 要素もしくは定型値

比較: value1 != value2

(value1 != value2)

2つのstringを比較し、同じ長さで同じ文字であればzeroを返し、そうでなければ0ではないものを返します。 この演算子はCのstrcmp(value1, value2)と極めて似た働きをし、従ってCやJavaでの != 演算子と直観的に異なる故に、技術的に異なるものです。

• expression value1 string 要素もしくは定型値
• expression value2 string 要素もしくは定型値

integer int = 48934;
string str = (string)int;
string str_2;
str_2 = str;

よく用いる関数

ユーザが作成したユーティリティ関数

関数 説明
Chr Returns the Unicode character with the given code. See also Ord.
Float2String Allows string output of a float in a tidy text format, with optional rounding.
Left Returns text left of a specified separator.
Like See if one word matches part of another.
Ord Returns the ordinal (Unicode code) of a character. See also Chr.
RandomString Creates a random string.
RemoveHTMLTags Removes HTML tags from a string ( and newline characters )
Right Returns text right of a specified separator.
str_replace 全ての対象string内の、stringインスタンスとその他のstringを置換します。
Stristr Returns a string from the first occurrence of needle to the end of haystack.
SplitLine '改行'エスケープコードをstringの特定の箇所に挿入します。
TrimRight stringの右端から文字の余計な空白を削除します。
TrimLeft stringの左端から文字の余計な空白を削除します。
TrimBoth stringの両端から文字の余計な空白を削除します。
WrapText Break text into line lengths of your specification.

CombinedLibraryのString関数

スクリプトライブラリ内のテキスト関係のスクリプト

スクリプト名 製作者 説明
ParseString2List Strife Onizuka Same as llParseString2List and llParseStringKeepNulls, but not limited to 8 spacers or separators. Thus substitute a call to the llParseString2List and llParseStringKeepNulls functions by a call to ParseString2List whenever you have more than 8 separators or more than 8 spacers.
String Compare Xaviar Czervik Compares two strings and reliably returns either 1, -1, or 0 if they are the same.
XyText Xylor Baysklef Display text (up to 10 characters) on a prim. Use as many prims as desired.
XyyyyzText Criz Collins Display text (up to 10 characters) on a prim. Displays different text for each line instead of one single text, that will be broken into the next lines. Watch here for what that means: http://screencast.com/t/1wMLujLcEO
XyzzyText Thraxis Epsilon and Gigs Taggart Display text (up to 10 characters) on a prim. Way more efficient than XyText.