Ogłoszenie 



Poprzedni temat «» Następny temat
Pisanie Skryptów LUA 4.1. Czym jest zmienna
Autor Wiadomość
LS2010 
VIP


Wiek: 17
Dołączył: 10 Wrz 2009
Posty: 370
Piwa: 207/5
Skąd: Manchester

Wysłany: 2009-11-03, 19:51   Pisanie Skryptów LUA 4.1. Czym jest zmienna

IV. Zmienne
4.1. Czym jest zmienna

Zmienna to wydzielony obszar w pamięci komputera dla jakiejś danej. My decydujemy jaką zmienną stworzyć, jaką nadać jej wartość, kiedy się nią posłużyć, komputer za nas podejmuje decyzję gdzie i jak zaalokować pamięć dla danej. Tak więc posługiwanie się zmiennymi jest proste i przydatne wszędzie tam gdzie chcemy zapisać coś w pamięci by następnie się tym posłużyć.
4.2. Tworzymy zmienną

Żeby zapisać coś, np. tekst albo liczbę i później z tego korzystać musimy stworzyć sobie zmienną. W Lua to bardzo proste:
zmienna = "Jakiś tekst";

No i jest pierwsza zmienna którą zapamiętał nasz komputer ;) Wystarczy podać nazwę zmiennej, a następnie za pomocą znaku = przypisać jej jakąś wartość.

Możemy też posługiwać się też innymi typami zmiennych:
liczba = 156;
liczba2 = 123.6754;
prawda = true; -- Typ boolean
4.3. Typy zmiennych
4.3.1. String

Jest to ciąg znaków - czyli inaczej tekst. Z tym typem zapoznaliśmy się wcześniej, więc w celu przypomnienia przykładowa zmienna typu string wygląda tak:
zmienna = "Tekst";
4.3.2. Number

Jest to zwykła liczba. Przykłady zmiennych:
dodatnia = 9;
ujemna = -9;
zmiennoprzecinkowa = 123.321;
4.3.3. Boolean

Inaczej typ logiczny. Może przyjąć dwie wartości: true (prawda) i false (fałsz).

Przykład:
prawda = true;
falsz = false;
4.3.4. nil

Jest to po prostu brak wartości. Np.
nic = nil;

W ten sposób możemy stworzyć zmienną która na samym początku nie przyjmuje z góry określonej wartości.
4.3.5. Inne

Istnieje jeszcze kilka innych zmiennych o których teraz sobie nie powiemy, bo nie jest jeszcze na to pora.
4.4. Nazewnictwo zmiennych

Poprawna nazwa zmiennej zaczyna się od litery. Po niej mogą występować zarówno litery (bez polskich: ę, ą, ś, ć itp) jak i cyfry a także znak podkreślenia( _ ). Należy o tym pamiętać gdyż niepoprawne nazwanie zmiennej może przysporzyć wiele błędów. Oto niektóre poprawne nazwy:
nazwa Nazwa nazwa3 nazwa_4 NaZwA

Dziwne wydawać się może że takiej zmiennej nie utworzymy:
while = 9;

Użyliśmy zarezerwowanego słowa, którego nie możemy użyć do nadawania nazw zmiennym. Oto wszystkie zarezerwowane słowa:
and break do else elseif
end false for function if
in local nil not or
repeat return then true until
while

Nie musisz zapamiętywać wszystkich tych nazw gdyż zostaną one wyróżnione w edytorze(np. w notepad++).
4.5. Odwoływanie się do zmiennych

Do zmiennej odwołujemy się po jej nazwie. Dzięki temu możemy posłużyć się wartością zmiennej - np. w print.
function main()
tekst = "Jakiś tekst";
print(tekst);
end

Najpierw tworzymy zmienną, a potem się nią posługujemy. Proste!

Zapamiętaj

Lua odróżnia wielkość znaków, tak więc:
nazwa


i
Nazwa


to dwie różne zmienne!
4.6. Łączenie zmiennych

Lua dostarcza nam pewien mechanizm bez którego odwołanie się do dwóch (i więcej zmiennych) wyglądałoby tak:
function main()
a = "jeden to";
b = 1;
print(a);
print(b);
end

Jest to dla nas męczące bo za każdym razem musimy użyć funkcji print. Czym jest wspomniany prze ze mnie mechanizm? Pozwala na użycie kilku zmiennych jako jednej całości dzięki czemu powyższy skrypt możemy skrócić do takiej postaci:
function main()
a = "jeden to";
b = 1;
print(a .. b);
end

Oczywiste jest że możemy użyć tyle zmiennych ile potrzebujemy np.
function main()
a = "jeden to";
b = 1;
c = "a dwa to";
d = 2;
print(a .. b .. c .. d);
end

Nie musimy wcale używać w tym przypadku zmiennych, wystarczy:
function main()
print("jeden to:" .. 1 .. "a dwa to" .. 2);
end

Po prostu łączymy różne wartości w jedną całość.
4.7. Dla chętnych
4.7.1 Nazewnictwo zmiennych i zarezerwowane słowa

Lua odróżnia wielkość znaków. Skoro nie możemy utworzyć takiej zmiennej:
while = 9;

To rozwiązaniem problemu będzie:
While = 9;

Taki zapis jest jak najbardziej poprawny.
4.7.2. Typy zmiennych

1) Chcąc sprawdzić jakiego typu jest dana zmienna można posłużyć się funkcją type. Przykład:
prawda = true;

print( type( prawda ) ) --> boolean
print( type( 12.9 + 2) ) --> number
print( type( print ) ) --> function
print( type( nil ) ) --> nil

2) Odwołanie się do nie utworzonej zmiennej zwróci nil. Przykład:
print( type (nieUtworzonaZmienna) ); --> nil

3) Zmienne w Lua nie są silnie typizowane. Jeśli stworzymy zmienną typu np. string to następnie możemy jej przypisać wartość dowolnego typu. Przykład:
zmienna = "tekst";
zmienna = 1; -- poprawne

4) Lua dostarcza nam funkcje służące do konwersji typów danych. Są to funkcje tonumber oraz tostring. Pierwsza z nich przyjmuje jako pierwszy argument zmienną 'dowolnego' typu a następnie zwraca zmienną typu number. Podobnie druga, z tym że zwraca wartość typu string.
4.7.3. Łączenie zmiennych

Operator .. łączy zmienne typu string. Wszystkie łączone przez ten operator liczby są konwertowane do typu string. Przykład:
function main()
a = 1;
print( type( a ) ); --> number
a = 1 .. 5;
print( type( a ) ); --> string
end
Postaw piwo autorowi tego posta
 
 
     
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Śmieszne Fotki Polaków|Gry MMORPG| Filmy online| Filmy online bez limitu wyszukiwarka plików PEBDarmowe filmy online
  Adwokat Warszawa  Adwokat Warszawa  Adwokat Warszawa  Adwokat Warszawa  Adwokat Warszawa

Strona wygenerowana w 0,24 sekundy. Zapytań do SQL: 17