Difference between revisions of "LSL Variables/pl"
(New page: {{Multi-lang}} {{LSL Header/pl}} '''Zmienna''' jest miejscem do przechowywania informacji, np. liczb lub ciągów znakowych. Zmienna ma nazwę, typ i wartość. Nazwa zmiennej zawsze za...) |
|||
Line 19: | Line 19: | ||
== Zasięg zmiennych == | == 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ć. | |||
<pre> | <pre> | ||
integer i = 50; | integer i = 50; | ||
default { | default { | ||
state_entry() { | state_entry() { | ||
string i = " | string i = "Witam!"; //To DA się skompilować, nie tak jak w Javie. | ||
llOwnerSay(i); // | llOwnerSay(i); //Wypisze "Witam!". Nie można odczytać globalnej zmiennej i. | ||
} | } | ||
} | } | ||
Line 37: | Line 36: | ||
* [[float/pl]] | * [[float/pl]] | ||
* [[list/pl]] | * [[list/pl]] | ||
* [[vector]] | * [[vector/pl]] | ||
* [[rotation]] | * [[rotation/pl]] |
Latest revision as of 03:37, 25 March 2008
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. } }