Lua - podstawowa składnia
Zacznijmy tworzyć nasz pierwszy program Lua!
Pierwszy program Lua
Programowanie w trybie interaktywnym
Lua udostępnia tryb zwany trybem interaktywnym. W tym trybie możesz wpisywać instrukcje jedna po drugiej i uzyskać natychmiastowe wyniki. Można to wywołać w powłoce za pomocą polecenia lua -i lub po prostu lua. Po wpisaniu tego, naciśnij Enter, a tryb interaktywny zostanie uruchomiony, jak pokazano poniżej.
$ lua -i
$ Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available
Możesz wydrukować coś, używając następującego oświadczenia -
print("test")
Po naciśnięciu klawisza Enter otrzymasz następujące dane wyjściowe -
test
Programowanie w trybie domyślnym
Wywołanie interpretera z parametrem nazwy pliku Lua rozpoczyna wykonywanie pliku i trwa do zakończenia skryptu. Po zakończeniu skryptu interpreter nie jest już aktywny.
Napiszmy prosty program w Lua. Wszystkie pliki Lua będą miały rozszerzenie .lua. Więc umieść następujący kod źródłowy w pliku test.lua.
print("test")
Zakładając, że środowisko lua jest poprawnie skonfigurowane, uruchommy program za pomocą następującego kodu -
$ lua test.lua
Otrzymamy następujący wynik -
test
Wypróbujmy inny sposób wykonania programu Lua. Poniżej znajduje się zmodyfikowany plik test.lua -
#!/usr/local/bin/lua
print("test")
Tutaj założyliśmy, że masz dostępny interpreter Lua w swoim katalogu / usr / local / bin. Pierwsza linia jest ignorowana przez interpreter, jeśli zaczyna się od znaku #. Teraz spróbuj uruchomić ten program w następujący sposób -
$ chmod a+rx test.lua
$./test.lua
Otrzymamy następujący wynik.
test
Zobaczmy teraz podstawową strukturę programu Lua, tak aby było Ci łatwo zrozumieć podstawowe elementy składowe języka programowania Lua.
Tokeny w Lua
Program Lua składa się z różnych tokenów, a token jest słowem kluczowym, identyfikatorem, stałą, literałem ciągu lub symbolem. Na przykład następująca instrukcja Lua składa się z trzech tokenów -
io.write("Hello world, from ",_VERSION,"!\n")
Poszczególne żetony to -
io.write
(
"Hello world, from ",_VERSION,"!\n"
)
Komentarze
Komentarze są jak pomocny tekst w programie Lua i są ignorowane przez interpretera. Zaczynają się od - [[i kończą znakami -]], jak pokazano poniżej -
--[[ my first program in Lua --]]
Identyfikatory
Identyfikator Lua to nazwa używana do identyfikacji zmiennej, funkcji lub dowolnego innego elementu zdefiniowanego przez użytkownika. Identyfikator zaczyna się od litery „A do Z” lub „od a do z” lub podkreślenia „_”, po której następuje zero lub więcej liter, podkreślników i cyfr (od 0 do 9).
Lua nie zezwala na znaki interpunkcyjne, takie jak @, $ i% w identyfikatorach. Lua jestcase sensitivejęzyk programowania. Zatem siła robocza i siła robocza to dwa różne identyfikatory w Lua. Oto kilka przykładów akceptowanych identyfikatorów -
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
Słowa kluczowe
Poniższa lista przedstawia kilka słów zastrzeżonych w Lua. Te zarezerwowane słowa nie mogą być używane jako stałe lub zmienne ani żadne inne nazwy identyfikatorów.
i | przerwa | zrobić | jeszcze |
elseif | koniec | fałszywy | dla |
funkcjonować | gdyby | w | lokalny |
zero | nie | lub | powtarzać |
powrót | następnie | prawdziwe | aż do |
podczas |
Białe spacje w Lua
Linia zawierająca tylko białe spacje, prawdopodobnie z komentarzem, jest nazywana pustą linią, a interpreter Lua całkowicie ją ignoruje.
Białe znaki to termin używany w Lua do opisania spacji, tabulatorów, znaków nowej linii i komentarzy. Biała spacja oddziela jedną część instrukcji od drugiej i umożliwia interpreterowi określenie, gdzie kończy się jeden element instrukcji, taki jak int, a zaczyna następny. Dlatego w poniższym oświadczeniu -
local age
Aby tłumacz mógł je rozróżnić, musi istnieć co najmniej jeden znak odstępu (zwykle spacja) między językiem lokalnym a wiekiem. Z drugiej strony w poniższym stwierdzeniu -
fruit = apples + oranges --get the total fruit
Pomiędzy owocami a = lub między = a jabłkami nie są potrzebne żadne spacje, chociaż możesz je dołączyć, jeśli chcesz, aby były czytelne.