LSL Operators/pl
LSL Portal | | | Funkcje | | | Zdarzenia | | | Typy | | | Stałe | | | Potoki | | | Biblioteka Skryptów | | | Tutoriale |
Operatory służą do wykonywania działań (głównie matematycznych, ale nie tylko) na dwóch składnikach. Prostym przykładem jest 1 + 2, gdzie 1 i 2 są składnikami, a + jest operatorem (w tym przypadku działania dodawania)
To pojęcie jest rozszerzone w języku LSL, ponieważ składniki mogą być zmiennymi. Przypadkiem szczególnym jest tu operator przypisania, który wymaga żeby składnik z jego lewej strony był zmienną.
Operator | Opis | Przykład |
---|---|---|
() [] . | Nawiasy, Nawiasy kwadratowe, Kropka | Zrób to potem (a to najpierw) |
(typ) | Rzutowanie na typ | message = "Wynik to:" + (string) wynik; |
! ~ ++ -- | NOT, Dopełnienie, Zwiększenie, Zmniejszenie | licznik++; |
* / % | Mnożenie/Iloczyn skalarny, Dzielenie, Wartość bezwzględna(moduł)/Iloczyn kartezjański | przepełnienie = (licznik + 1)%5; |
- | Odejmowanie | jeden = 3 - 2; |
+ | Dodawanie lub Łączenie łańcuchów (konkatenacja) | dwa = 1+1;
tekst = "Witaj" + "Świecie"; |
+ | Łączenie (konkatenacja) list | mojaLista = [1, 2, 3] + [4, 5];
nowaLista = staraLista + dodanaLista; |
<< >> | Przesunięcie (bitowe) w lewo, w prawo | osiem = 4 << 1; |
< <= > >= | Mniejsze niż, Mniejsze niż lub równe,
Większe niż, Większe niż lub równe |
toFałsz = (6 <= 4); |
== != | Porównanie jest równe, nie jest równe | toFałsz = ("this" == "that"); |
& | Bitowe AND | zero = 4 & 2;
cztery = 4 & 4; |
^ | Bitowe XOR | zero = 4 ^ 4;
sześć = 4 ^ 2; |
| | Bitowe OR | cztery = 4 | 4;
sześć = 4 | 2; |
|| | Logiczne (boolowskie) OR | toPrawda = (FALSE || TRUE); |
&& | Logiczne (boolowskie) AND | toFałsz = (FALSE && TRUE); |
= += -= *= /= %= | Przypisanie | cztery = 4; |
Uwaga: Kolejność operatorów logicznych (boolowskich) nie jest jasno określona. Możliwe że jest błąd w procesorze (parserze) wyrażeń, który powoduje brak spójności, albo || i && mają równe priorytety; Testy nie dają odpowiedzi. Jeżeli coś nie działa jak się spodziewasz, użyj nawiasów.
Typ lewej | Typ prawej | Typ Wyniku | Opis |
---|---|---|---|
integer | integer | integer | Suma lewej i prawej |
integer | float | float | Suma lewej i prawej |
float | integer | float | Suma lewej i prawej |
string | string | string | Łączy (konkatenuje) prawą do końca lewej. |
list | * | list | Łączy (konkatenuje) prawą do końca lewej. |
* | list | list | Łączy (konkatenuje) lewą do początku prawej. |
vector | vector | vector | Dodaje (wektorowo) lewą do prawej |
rotation | rotation | rotation | Dodaje (wektorowo) lewą do prawej Nie należy używać do składania obrotów! W zamian użyj * lub /. |