Difference between revisions of "LSL 演算子"
Coffee Mills (talk | contribs) (New page: {{Multi-lang}} {{LSL Header/ja}} Operators are used to cause an operation (or mathematical action) to be performed on two operands. The easy and common example is 1 + 2 where 1 and 2 are o...) |
Coffee Mills (talk | contribs) |
||
Line 56: | Line 56: | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
|+ | |+ | ||
==+ | ==+ 演算子== | ||
<code>result = left + right</code> | <code>result = left + right</code> | ||
|-{{Hl2}} | |-{{Hl2}} | ||
Line 67: | Line 67: | ||
|integer | |integer | ||
|integer | |integer | ||
| | |'''left'''と'''right'''を加算する | ||
|- | |- | ||
|integer | |integer | ||
|float | |float | ||
|float | |float | ||
| | |'''left'''と'''right'''を加算する | ||
|- | |- | ||
|float | |float | ||
|integer | |integer | ||
|float | |float | ||
| | |'''left'''と'''right'''を加算する | ||
|- | |- | ||
|string | |string |
Revision as of 00:21, 12 December 2007
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
Operators are used to cause an operation (or mathematical action) to be performed on two operands. The easy and common example is 1 + 2 where 1 and 2 are operands, and the + is the operator.
This concept can be extended much further with LSL since operands can be variables with the special case of the assignment operators requiring that the left hand side be a variable.
Operator | Description | Usage Example |
---|---|---|
() [] . | Parenthesis, Brackets, and Dot | do this second (do this first) |
(type) | Typecasting | message = "The result is:" + (string) result; |
! ~ ++ -- | NOT, One's Complement, Increment, Decrement | counter++; |
* / % | Multiply/Dot-Product, Divide, Modulus/Cross-Product | rollover = (count + 1)%5; |
- | Subtraction | one = 3 - 2; |
+ | Addition or joining Strings | two = 1+1;
text = "Hello" + "World"; |
+ | Concatenation or joining Lists | myList = [1, 2, 3] + [4, 5];
newList = oldList + addList; |
<< >> | Left Shift, Right Shift | eight = 4 << 1; |
< <= > >= | Less Than, Less Than Or Equal To,
Greater Than, Greater Than or Equal To |
isFalse = (6 <= 4); |
== != | Comparison Equal, Comparison Not Equal | isFalse = ("this" == "that"); |
& | Bitwise AND | zero = 4 & 2;
four = 4 & 4; |
^ | Bitwise XOR | zero = 4 ^ 4;
six = 4 ^ 2; |
| | Bitwise OR | four = 4 | 4;
six = 4 | 2; |
|| | Comparison OR | isTrue = (FALSE || TRUE); |
&& | Comparison AND | isFalse = (FALSE && TRUE); |
= += -= *= /= %= | Assignment | four = 4; |
Note: The order of precedence of boolean operators is unclear. It is possible that there is a bug in the expression parser, making precedence inconsistent, or it may simply be that || and && have equal precedence; testing is inconclusive. Thus, when in doubt, parenthesize.
Left Type | Right Type | Result Type | Description |
---|---|---|---|
integer | integer | integer | leftとrightを加算する |
integer | float | float | leftとrightを加算する |
float | integer | float | leftとrightを加算する |
string | string | string | Concatenates right onto the end of left. |
list | * | list | Concatenates right onto the end of left. |
* | list | list | Affixes left onto the start of right. |
vector | vector | vector | Adds left and right |
rotation | rotation | rotation | Adds left and right Not useful for combining rotations, use * or / instead. |