Category:LSL 演算子
(Redirected from Category:LSL Operators/ja)
Jump to navigation
Jump to search
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.