LSL Variables/pl

From Second Life Wiki
< LSL Variables
Revision as of 03:37, 25 March 2008 by Smokkam Short (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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