Difference between revisions of "Category:LSL 演算子"

From Second Life Wiki
Jump to navigation Jump to search
(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...')
 
 
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}}
Page recreated to house the future revision of the LSL_Operators page into categorized Content. '''Please do not delete.'''
新しい版の LSL_Operators のページを置いておくためにページを改版しました。'''消さないで'''


if you're looking for the current version, it may be found at [[LSL_Operators]].
現在の版は [[LSL_演算子]] にあります。


== 演算子の優先順位 (演算順序) ==
== 演算子の優先順位 (演算順序) ==


current rough draft of precedence
優先順位は仮
{| 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>Modulus<br>乗算<br>ビット単位 OR<br>ビット単位 XOR
|| 除算<br>剰余<br>乗算<br>ビット単位 OR<br>ビット単位 XOR
|| 右から左
|| 右から左
|-
|-
Line 41: Line 41:
|-
|-
| << >>
| << >>
|| ビットシフト 左/右
|| ビットシフト 左 / 右
|| 右から左
|| 右から左
|-
|-
| < ><br><= >=
| < ><br><= >=
|| より小さい/より大きい<br>以下/以上
|| より小さい / より大きい<br>以下/以上
|| 右から左
|| 右から左
|-
|-
Line 69: Line 69:
|-
|-
| =<br>+= -= /= %= *=
| =<br>+= -= /= %= *=
|| 代入<br>加算代入/減算代入/除算代入/Modulo/乗算代入
|| 代入<br>加算代入 / 減算代入 / 除算代入 / 剰余代入 / 乗算代入
|| 右から左{{Footnote|handle=1}}
|| 右から左{{Footnote|handle=1}}
|}
|}
Line 92: Line 92:
     }
     }
}</lsl>
}</lsl>
Assigment operators Demote all precedences to the Left of them (but obey all precedences below above increment/decrement.
代入演算子は、それより左にある演算子よりも常に優先順位は高くなります (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_Operators のページを置いておくためにページを改版しました。消さないで

現在の版は LSL_演算子 にあります。

演算子の優先順位 (演算順序)

優先順位は仮

記号 説明 結合順
()
[]
丸括弧(Parenthesis)
リスト・コンストラクタ
中から外
右から左
, コンマ 左から右[1]
++ -- インクリメント / デクリメント 右から左
(type)
~
!
-
型キャスト
ビット否定
論理否定
否定
右から左
/
%
*
|
^
除算
剰余
乗算
ビット単位 OR
ビット単位 XOR
右から左
+
-
加算/連結
減算
右から左
<< >> ビットシフト 左 / 右 右から左
< >
<= >=
より小さい / より大きい
以下/以上
右から左
== != 等しい/等しくない 右から左
& ビット単位 AND 右から左
^ ビット単位 XOR 右から左
| ビット単位 OR 右から左
&& || 論理積 / 論理和 右から左
=
+= -= /= %= *=
代入
加算代入 / 減算代入 / 除算代入 / 剰余代入 / 乗算代入
右から左[1]
  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.