LSL Variables/pl
LSL Portal | | | Funkcje | | | Zdarzenia | | | Typy | | | Stałe | | | Potoki | | | Biblioteka Skryptów | | | Tutoriale |
Zmienna jest miejscem do przechowywania informacji, np. liczb lub ciągów znakowych.
Zmienna ma nazwę, typ i wartość. Nazwa zmiennej zawsze zaczyna się od litery. Zaleca się stosowanie konwencji nazewniczej z C lub Javy. Wielkość liter ma znaczenie. X nie jest tożsame z x.
LSL jest językiem o sztywnych i statycznie deklarowanych typach zmiennych. To oznacza, że zmienna musi mieć zadeklarowany typ i może przechowywać tylko wartości swojego typu. Wyjątkiem jest zmienna typu list, która może przechowywać zero lub więcej wartości dowolnego innego typu.
Przykłady:
integer count = 2; float measure = 1.2; string chars = "Lee"; list words = ["To", "Jest", "Lista", "."]; list entries = ["Lista może zawierać dane różnych typów, np.:", 2, 1.2, <0.4, 0.8, 1.6>]; vector vec = <1,6,2>;
Zasięg zmiennych
Nazwa zmiennej obowiązuje od miejsca pierwszego pojawienia się, do końca bloku w którym się pojawia, lub do końca skryptu w przypadku zmiennej globalnej. Taka sama nazwa nie może być zdefiniowana dwukrotnie w obrębie tego samego bloku, ale może być przedefiniowana w pod-bloku i przykrywa zmienną z bloku wyżej w hierarchii. Znowu - jest to bardzo podobne do semantyki C i Javy. Mając to na uwadze, poniższy kod daje się skompilować i wykonać.
integer i = 50; default { state_entry() { string i = "Witam!"; //To DA się skompilować, nie tak jak w Javie. llOwnerSay(i); //Wypisze "Witam!". Nie można odczytać globalnej zmiennej i. } }