Difference between revisions of "Category:LSL 演算子"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) (Created page with '{{Multi-lang|Category:LSL Operators|/ja}} {{LSL Header{{#var:lang}}|ml=*}}{{LSLC{{#var:lang}}|}} {{LSLC{{#var:lang}}|Keywords}}{{LSLC{{#var:lang}}|Flow Control}} Page recreated t...') |
Mako Nozaki (talk | contribs) |
||
Line 2: | Line 2: | ||
{{LSL Header{{#var:lang}}|ml=*}}{{LSLC{{#var:lang}}|}} | {{LSL Header{{#var:lang}}|ml=*}}{{LSLC{{#var:lang}}|}} | ||
{{LSLC{{#var:lang}}|Keywords}}{{LSLC{{#var:lang}}|Flow Control}} | {{LSLC{{#var:lang}}|Keywords}}{{LSLC{{#var:lang}}|Flow Control}} | ||
新しい版の LSL_Operators のページを置いておくためにページを改版しました。'''消さないで''' | |||
現在の版は [[LSL_演算子]] にあります。 | |||
== 演算子の優先順位 (演算順序) == | == 演算子の優先順位 (演算順序) == | ||
優先順位は仮 | |||
{| bgcolor="#FFFFFF" border="1" cellspacing="2" cellpadding="6" | {| bgcolor="#FFFFFF" border="1" cellspacing="2" cellpadding="6" | ||
|- bgColor="#A7C1F2" | |- bgColor="#A7C1F2" | ||
Line 25: | Line 25: | ||
|- | |- | ||
| ++ -- | | ++ -- | ||
|| インクリメント/デクリメント | || インクリメント / デクリメント | ||
|| 右から左 | || 右から左 | ||
|- | |- | ||
Line 33: | Line 33: | ||
|- | |- | ||
| /<br>%<br>*<br><nowiki>|</nowiki><br>^ | | /<br>%<br>*<br><nowiki>|</nowiki><br>^ | ||
|| 除算<br> | || 除算<br>剰余<br>乗算<br>ビット単位 OR<br>ビット単位 XOR | ||
|| 右から左 | || 右から左 | ||
|- | |- | ||
Line 41: | Line 41: | ||
|- | |- | ||
| << >> | | << >> | ||
|| ビットシフト 左/右 | || ビットシフト 左 / 右 | ||
|| 右から左 | || 右から左 | ||
|- | |- | ||
| < ><br><= >= | | < ><br><= >= | ||
|| より小さい/より大きい<br>以下/以上 | || より小さい / より大きい<br>以下/以上 | ||
|| 右から左 | || 右から左 | ||
|- | |- | ||
Line 69: | Line 69: | ||
|- | |- | ||
| =<br>+= -= /= %= *= | | =<br>+= -= /= %= *= | ||
|| 代入<br>加算代入/減算代入/除算代入/ | || 代入<br>加算代入 / 減算代入 / 除算代入 / 剰余代入 / 乗算代入 | ||
|| 右から左{{Footnote|handle=1}} | || 右から左{{Footnote|handle=1}} | ||
|} | |} | ||
Line 92: | Line 92: | ||
} | } | ||
}</lsl> | }</lsl> | ||
代入演算子は、それより左にある演算子よりも常に優先順位は高くなります (but obey all precedences below above increment/decrement. | |||
<lsl>//-- example: | <lsl>//-- example: | ||
integer a = 0; | integer a = 0; |
Latest revision as of 00:04, 16 April 2010
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
新しい版の LSL_Operators のページを置いておくためにページを改版しました。消さないで
現在の版は LSL_演算子 にあります。
演算子の優先順位 (演算順序)
優先順位は仮
記号 | 説明 | 結合順 |
---|---|---|
() [] |
丸括弧(Parenthesis) リスト・コンストラクタ |
中から外 右から左 |
, | コンマ | 左から右[1] |
++ -- | インクリメント / デクリメント | 右から左 |
(type) ~ ! - |
型キャスト ビット否定 論理否定 否定 |
右から左 |
/ % * | ^ |
除算 剰余 乗算 ビット単位 OR ビット単位 XOR |
右から左 |
+ - |
加算/連結 減算 |
右から左 |
<< >> | ビットシフト 左 / 右 | 右から左 |
< > <= >= |
より小さい / より大きい 以下/以上 |
右から左 |
== != | 等しい/等しくない | 右から左 |
& | ビット単位 AND | 右から左 |
^ | ビット単位 XOR | 右から左 |
| | ビット単位 OR | 右から左 |
&& || | 論理積 / 論理和 | 右から左 |
= += -= /= %= *= |
代入 加算代入 / 減算代入 / 除算代入 / 剰余代入 / 乗算代入 |
右から左[1] |
- ^ コンマと代入演算子は特別なケースです。コンマは全ての演算子を左に進めます。 しかし、丸括弧や角括弧で括られた中では、順番通りに計算します。
<lsl>//-- example: float a; float b; float c;
string uExample( float x, float y ){
return (string)x + " " + (string)y;
}
default{
state_entry(){ string vStrReport = "\n" + (string)(++a) + " " + (string)(++a); //-- first line reports "2.000000 1.000000" vStrReport += "\n" + (string)[++b, " ", ++b]; //-- second line reports "1.000000 2.000000" vStrReport += "\n" + uExample( ++c, ++c ); //-- third line reports "1.000000 2.000000" llOwnerSay( vStrReport ); }
}</lsl> 代入演算子は、それより左にある演算子よりも常に優先順位は高くなります (but obey all precedences below above increment/decrement. <lsl>//-- example: integer a = 0;
default{
state_entry(){ llOwnerSay( (string)(++a + a *= ++a) ); //-- yields "3" instead of "4" }
}</lsl>
右から左
- Placeholder for commentary about the LSL compiler and LSO R2L implications.
This category currently contains no pages or media.