LSL Variables/pl

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

See Also