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 /. |