Difference between revisions of "Category:LSL String/ja"
Asuka Neely (talk | contribs) |
Asuka Neely (talk | contribs) |
||
Line 54: | Line 54: | ||
<div style="padding: 0.5em;"> | <div style="padding: 0.5em;"> | ||
<pre>string name;</pre> | <pre>string name;</pre> | ||
宣言するstring型の変数を'''name'''と名づけて、{{HoverText|""|空の string}}にします。 | |||
{| | {| | ||
{{LSL DefineRow|variable|name|{{#var:p_name_desc}}}} | {{LSL DefineRow|variable|name|{{#var:p_name_desc}}}} | ||
Line 61: | Line 61: | ||
<div id="box"> | <div id="box"> | ||
== | == 変数: string {{LSL Param|name}} {{=}} {{LSL Param|value}}; == | ||
<div style="padding: 0.5em;"> | <div style="padding: 0.5em;"> | ||
<pre>string name = value;</pre> | <pre>string name = value;</pre> | ||
宣言するstring型の変数を'''name'''と名づけて、'''value'''の値をいれます。 | |||
{| | {| | ||
{{LSL DefineRow|variable|name|{{#var:p_name_desc}}}} | {{LSL DefineRow|variable|name|{{#var:p_name_desc}}}} | ||
Line 72: | Line 72: | ||
<div id="box"> | <div id="box"> | ||
== [[Typecast]]: (string){{LSL Param|value_t|value}} == | == [[Typecast/ja|型の変換]]: (string){{LSL Param|value_t|value}} == | ||
<div style="padding: 0.5em;"> | <div style="padding: 0.5em;"> | ||
<pre>(string)value</pre> | <pre>(string)value</pre> | ||
'''value'''をstring型の値に変換します。 | |||
{| | {| | ||
{{LSL DefineRow|expression|value|{{#var:p_value_t_desc}}}} | {{LSL DefineRow|expression|value|{{#var:p_value_t_desc}}}} | ||
Line 83: | Line 83: | ||
<div id="box"> | <div id="box"> | ||
== [[LSL Operators| | == [[LSL Operators/ja|演算子]] == | ||
<div style="padding: 0.5em;"> | <div style="padding: 0.5em;"> | ||
ほかの情報は[[LSL Operators/ja|演算子]] を参照します。 | |||
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;"> | <div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;"> | ||
=== | === 結合: {{LSL Param|value|value1}} + {{LSL Param|value|value2}} === | ||
<pre>(value1 + value2)</pre> | <pre>(value1 + value2)</pre> | ||
入力での編集以外で、2つのstringを1つのstringに結合します。'''value2'''に '''value1'''を加えて、結果のstringに返します。 | |||
{| | {| | ||
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}} | {{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}} | ||
Line 97: | Line 97: | ||
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;"> | <div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;"> | ||
=== | === 比較: {{LSL Param|value|value1}} <nowiki>==</nowiki> {{LSL Param|value|value2}} === | ||
<pre>(value1 == value2)</pre> | <pre>(value1 == value2)</pre> | ||
2つのstringを比較して、同じ長さで同じ文字なら1を返し、そうでなければ0を返します。 | |||
この演算子はCの<code>!strcmp('''value1''', '''value2''')</code>と極めて似たような働きをし、従ってCやJavaでの == 演算子と直観的に異なる故に、技術的に異なるものです。 | |||
{| | {| | ||
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}} | {{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}} | ||
Line 107: | Line 107: | ||
</div> | </div> | ||
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;"> | <div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;"> | ||
=== | === 比較: {{LSL Param|value|value1}} != {{LSL Param|value|value2}} === | ||
<pre>(value1 != value2)</pre> | <pre>(value1 != value2)</pre> | ||
2つのstringを比較し、同じ長さで同じ文字であれば{{HoverText|zero|0}}を返し、そうでなければ0ではないものを返します。 | |||
この演算子はCの<code>strcmp('''value1''', '''value2''')</code>と極めて似た働きをし、従ってCやJavaでの != 演算子と直観的に異なる故に、技術的に異なるものです。 | |||
{| | {| | ||
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}} | {{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}} | ||
Line 120: | Line 120: | ||
<div id="box"> | <div id="box"> | ||
== | == 例 == | ||
<div style="padding: 0.5em;"> | <div style="padding: 0.5em;"> | ||
<pre> | <pre> | ||
Line 130: | Line 130: | ||
</div></div> | </div></div> | ||
<div id="box"> | <div id="box"> | ||
== | == よく用いる関数 == | ||
<div style="padding: 0.5em;"> | <div style="padding: 0.5em;"> | ||
=== | === [[Library_Combined_Library|CombinedLibrary]]のString関数 === | ||
{| | {| | ||
{{LSL DefineRow||[[Library_Combined_Library#str_replace|str_replace]]| | {{LSL DefineRow||[[Library_Combined_Library#str_replace|str_replace]]|全ての対象string内の、stringインスタンスとその他のstringを置換します。}} | ||
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimRight]]| | {{LSL DefineRow||[[Library_Combined_Library#Trim|TrimRight]]|stringの右端から文字の余計な空白を削除します。}} | ||
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimLeft]]| | {{LSL DefineRow||[[Library_Combined_Library#Trim|TrimLeft]]|stringの左端から文字の余計な空白を削除します。}} | ||
{{LSL DefineRow||[[Library_Combined_Library#Trim|TrimBoth]]| | {{LSL DefineRow||[[Library_Combined_Library#Trim|TrimBoth]]|stringの両端から文字の余計な空白を削除します。}} | ||
|} | |} | ||
=== | === 例 === | ||
{| | {| | ||
{{LSL DefineRow||[[Examples|SplitLine]]| | {{LSL DefineRow||[[Examples|SplitLine]]|'改行'エスケープコードをstringの特定の箇所に挿入します。}} | ||
|} | |} | ||
</div></div> | </div></div> |
Revision as of 15:46, 2 January 2008
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
stringはテキストデータです。stringの長さは、有効なスクリプト容量の限界までです。 Stringの値はLSLテキストを定義するときに、ダブルクォーテーション(" ")て囲まれます。いくつかの文字はエスケープされる必要があるだろうけれど、stringで用いることができるでしょう。
stringは+演算子を用いて結合させることができます。
部分文字 | 置換されるもの |
---|---|
\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に結合します。value2に value1を加えて、結果の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;
よく用いる関数
CombinedLibraryのString関数
• | str_replace | – | 全ての対象string内の、stringインスタンスとその他のstringを置換します。 | |
• | TrimRight | – | stringの右端から文字の余計な空白を削除します。 | |
• | TrimLeft | – | stringの左端から文字の余計な空白を削除します。 | |
• | TrimBoth | – | stringの両端から文字の余計な空白を削除します。 |
例
• | SplitLine | – | '改行'エスケープコードをstringの特定の箇所に挿入します。 |
Pages in category "LSL String/ja"
The following 33 pages are in this category, out of 33 total.