Difference between revisions of "Category:LSL String/ja"
Mako Nozaki (talk | contribs) (Redirected page to Category:LSL 文字列) |
Mizu Melody (talk | contribs) |
||
Line 1: | Line 1: | ||
# | {{Multi-lang}} | ||
{{LSL Header/ja|ml=*}} | |||
{{LSLC/ja|}}{{LSLC/ja|Types}} | |||
{{RightToc}} | |||
stringはテキストデータです。stringの長さは、有効な[[Script_memory/ja|スクリプト容量]]の限界までです。 Stringの値はLSLテキストを定義するときに、ダブルクォーテーション(" ")て囲まれます。いくつかの文字はエスケープされる必要があるだろうけれど、stringで用いることができるでしょう。 | |||
stringは'''+演算子'''を用いて結合させることができます。 | |||
<div id="box"> | |||
== Escape Codes== | |||
<div style="padding: 0.5em;"> | |||
{|{{Prettytable|style=float:left;}} | |||
|+ | |||
|-{{Hl2}} | |||
!Substring | |||
!Replaced with | |||
|- | |||
|| \t || 4スペース | |||
|- | |||
|| \n || 改行 | |||
|- | |||
|| \" || ダブルクオーテーション | |||
|- | |||
|| \\ || バックスラッシュ | |||
|} | |||
{| | |||
|String 例: | |||
<source lang="lsl2">"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!" | |||
</source> | |||
|} | |||
</div></div> | |||
Note: エスケープコード(上記一覧)はスクリプトがコンパイルされるときに翻訳され、動いてる間はされません。 stringはコンパイルされたとき、結果としてスクリプト内部の\nを"改行"文字に変換するでしょう。ノートカード、チャット、httpその他から読み込むテキストはエスケープコードではチェックされませんから、ノートカードでの\n入力は自動で"改行"文字には変換されません。自らしなければなりませんが、本当に本当に必要な場合だけにすべきです。 | |||
Note: CとJavaや同様な言語からLSLに入った人は、始めたばかりの間はLSL stringのエスケープルールで混乱するでしょう。 LSLの"\n"の意味は{{LSLG/ja|llUnescapeURL}}("%0A")で、CとJavaに似てますが、"\t"の意味は{{LSLG/ja|llUnescapeURL}}("%09")より{{LSLG/ja|llUnescapeURL}}("%20%20%20%20") が最適で、"\r"の意味は{{LSLG/ja|llUnescapeURL}}("%0D")よりも"r"が最適、などなど。 | |||
{{#vardefine:p_name_desc|変数名 | |||
}}{{#vardefine:p_value_desc|string 要素もしくは定型値 | |||
}}{{#vardefine:p_value_t_desc|要素もしくは定型値 | |||
}} | |||
<div id="box"> | |||
== 変数: string {{LSL Param|name}}; == | |||
<div style="padding: 0.5em;"> | |||
<source lang="lsl2">string name;</source> | |||
宣言するstring型の変数を'''name'''と名づけて、{{HoverText|""|空のstring}}にします。 | |||
{| | |||
{{LSL DefineRow|variable|name|{{#var:p_name_desc}}}} | |||
|} | |||
</div></div> | |||
<div id="box"> | |||
== 変数: string {{LSL Param|name}} {{=}} {{LSL Param|value}}; == | |||
<div style="padding: 0.5em;"> | |||
<source lang="lsl2">string name = value;</source> | |||
宣言するstring型の変数を'''name'''と名づけて、'''value'''の値をいれます。 | |||
{| | |||
{{LSL DefineRow|variable|name|{{#var:p_name_desc}}}} | |||
{{LSL DefineRow|expression|value|{{#var:p_value_desc}}}} | |||
|} | |||
</div></div> | |||
<div id="box"> | |||
== [[Typecast/ja|型の変換]]: (string){{LSL Param|value_t|value}} == | |||
<div style="padding: 0.5em;"> | |||
<source lang="lsl2">(string)value</source> | |||
'''value'''をstring型の値に変換します。 | |||
{| | |||
{{LSL DefineRow|expression|value|{{#var:p_value_t_desc}}}} | |||
|} | |||
</div></div> | |||
<div id="box"> | |||
== [[LSL Operators/ja|演算子]] == | |||
<div style="padding: 0.5em;"> | |||
ほかの情報は[[LSL Operators/ja|演算子]] を参照します。 | |||
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;"> | |||
=== 結合: {{LSL Param|value|value1}} + {{LSL Param|value|value2}} === | |||
<source lang="lsl2">(value1 + value2)</source> | |||
入力での編集以外で、2つのstringを1つのstringに結合します。'''value2'''に '''value1'''を加えて、結果のstringに返します。 | |||
{| | |||
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}} | |||
{{LSL DefineRow|expression|value2|{{#var:p_value_desc}}}} | |||
|} | |||
</div> | |||
<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}} === | |||
<source lang="lsl2">(value1 == value2)</source> | |||
2つのstringを比較して、同じ長さで同じ文字なら1を返し、そうでなければ0を返します。 この演算子はCの<code>!strcmp('''value1''', '''value2''')</code>と極めて似たような働きをし、従ってCやJavaでの == 演算子と直観的に異なる故に、技術的に異なるものです。 | |||
{| | |||
{{LSL DefineRow|expression|value1|{{#var:p_value_desc}}}} | |||
{{LSL DefineRow|expression|value2|{{#var:p_value_desc}}}} | |||
|} | |||
</div> | |||
<div id="box" style="padding-left: 0.5em;padding-right: 0.5em;padding-bottom: 0.5em;"> | |||
=== 比較: {{LSL Param|value|value1}} != {{LSL Param|value|value2}} === | |||
<source lang="lsl2">(value1 != value2)</source> | |||
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|value2|{{#var:p_value_desc}}}} | |||
|} | |||
</div> | |||
</div></div> | |||
<div id="box"> | |||
== 例 == | |||
<div style="padding: 0.5em;"> | |||
<source lang="lsl2">integer int = 48934; | |||
string str = (string)int; | |||
string str_2; | |||
str_2 = str;</source> | |||
</div></div> | |||
<div id="box"> | |||
== よく用いる関数 == | |||
<div style="padding: 0.5em;"> | |||
=== ユーザが作成したユーティリティ関数 === | |||
{|{{Prettytable}} | |||
|+ | |||
|-{{Hl2}} | |||
!関数 | |||
!説明 | |||
|- | |||
|| [[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. | |||
|- | |||
|| [[Library_Combined_Library#str_replace|str_replace]] || 全ての対象string内の、stringインスタンスとその他のstringを置換します。 | |||
|- | |||
|| [[Stristr]] || Returns a string from the first occurrence of needle to the end of haystack. | |||
|- | |||
|| [[SplitLine]] || '改行'エスケープコードをstringの特定の箇所に挿入します。 | |||
|- | |||
|| [[Library_Combined_Library#TrimRight|TrimRight]] || stringの右端から文字の余計な空白を削除します。 | |||
|- | |||
|| [[Library_Combined_Library#TrimLeft|TrimLeft]] || stringの左端から文字の余計な空白を削除します。 | |||
|- | |||
|| [[Library_Combined_Library#TrimBoth|TrimBoth]] || stringの両端から文字の余計な空白を削除します。 | |||
|- | |||
|| [[WrapText]] || Break text into line lengths of your specification. | |||
|} | |||
[[Library_Combined_Library|CombinedLibrary]]のString関数 | |||
=== スクリプトライブラリ内のテキスト関係のスクリプト === | |||
{| {{Prettytable}} | |||
|- | |||
|{{Hl2}}| '''スクリプト名''' | |||
|{{Hl2}}| '''製作者''' | |||
|{{Hl2}}| '''説明''' | |||
|- | |||
||[[ParseString2List]] | |||
||[[User:Strife Onizuka|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 [[Parse_String_To_List|ParseString2List]] whenever you have more than 8 separators or more than 8 spacers. | |||
|- | |||
||[[String Compare]] | |||
||[[User:Xaviar Czervik|Xaviar Czervik]] | |||
||Compares two strings and reliably returns either 1, -1, or 0 if they are the same. | |||
|- | |||
||[[XyText 1.5|XyText]] | |||
||[[User:Xylor Baysklef|Xylor Baysklef]] | |||
|| Display text (up to 10 characters) on a prim. Use as many prims as desired. | |||
|- | |||
||[[XyyyyzText|XyyyyzText]] | |||
||[[User:Criz Collins|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|XyzzyText]] | |||
||[[User:Thraxis Epsilon|Thraxis Epsilon]] and [[User:Gigs Taggart|Gigs Taggart]] | |||
|| Display text (up to 10 characters) on a prim. Way more efficient than XyText. | |||
|} | |||
</div> |
Revision as of 16:59, 18 December 2015
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
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に結合します。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;
よく用いる関数
ユーザが作成したユーティリティ関数
関数 | 説明 |
---|---|
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. |
Pages in category "LSL String/ja"
The following 33 pages are in this category, out of 33 total.