Lua
![]() | Ten artykuł dotyczy języka skryptowego. Zobacz też: bogini Lua. |
![]() Logo języka | |
Pojawienie się | 1993 |
---|---|
Aktualna wersja stabilna | 5.4.7 |
Twórca | Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo |
Licencja | MIT |
Platforma sprzętowa | |
Platforma systemowa | wieloplatformowy |
Strona internetowa |
Lua[a] (port. lua, księżyc) – lekki, skryptowy język programowania, zaprojektowany do wbudowania do większych aplikacji by rozszerzyć ich funkcje, często bywa też używany jako samodzielny język. Lua wiąże w sobie prostą składnię procedury (podobną do Pascala) z konstrukcjami opisu danych opartymi na tablicach asocjacyjnych i rozszerzalnej semantyce.
Język ten zaimplementowany jest jako mała biblioteka języka C, napisana według standardu ANSI C. Celami implementacji są: prostota, wydajność i przenośność kodu.
Istnieje wiele modyfikacji i nakładek na Lua. Jedną z nich jest LuaBind[1].
Język programowania Lua został stworzony w 1993 roku przez Roberto Ierusalimschy’ego, Luiza Henrique de Figueiredo i Waldemara Celes, którzy wchodzili w skład instytutu Tecgraf, zajmującego się oprogramowaniem graficznym na Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) w Brazylii[2].
Przykłady
Pierwszy program – hello world
print("Hello World!")
Wynik działania programu:
Hello World!
Instrukcja if
zmienna = 15 --Zmienna zdeklarowana na potrzeby przykładu if ( zmienna == 15 ) then print( "warunek spelniony" ) else print( "warunek niespelniony" ) end
Wynik działania programu:
warunek spelniony
Podstawowa pętla – for
for i = 1, 10 do print( tostring( i ) ) --Funkcja tostring( ) zamienia podaną wartość na typ string end
Wynik działania programu:
1 2 3 4 5 6 7 8 9 10
Podstawowa interakcja z użytkownikiem
print( "Czesc, jak masz na imie?\n" ) --\n to oznaczenie nowej linii imie = io.read( ) --Funkcja io.read( ) oczekuje, aż użytkownik coś wpisze, a następnie to zwraca print( "Czesc, " .. imie .. "." ) --Operator .. łączy ze sobą 2 dane typu string
Wynik działania programu:
Czesc, jak masz na imie?
- [Tutaj oczekuje na wpisanie imienia]
Czesc,
[imię].
Proste użycie funkcji
function funkcja(parametr1, parametr2) --Linia deklarująca funkcję return parametr1 * parametr2 --Słowo kluczowe "return" powoduje zwrócenie wartości przez funkcję end print(tostring(funkcja(10,5))) --Wyświetlanie wyniku (50)
Wynik działania programu:
50
Zobacz też
- Wikipedia:Lua – o zastosowaniu Lua w Wikipedii i innych projektach Wikimedia
- Roblox prosta platforma do tworzenia gier w języku Lua
Uwagi
- ↑ Często, błędnie pisana LUA; Nazwa ta nie jest akronimem.
Przypisy
- ↑ LuaBind. (ang.).
- ↑ RobertoR. Ierusalimschy RobertoR., Luiz Henrique deL.H. Figueiredo Luiz Henrique deL.H., WaldemarW. Celes WaldemarW., The evolution of Lua, „Proceedings of the third ACM SIGPLAN conference on History of programming languages”, San Diego California: ACM, 2007, DOI: 10.1145/1238844.1238846, ISBN 978-1-59593-766-7 [dostęp 2021-11-08] (ang.).
Linki zewnętrzne
- Oficjalna strona internetowa języka Lua
- Lua Users, społeczność użytkowników Lua
- Lua Forum
- Lua Rocks, repozytorium bibliotek jęz. Lua
- Zastosowania języka Lua. luaforge.net. [zarchiwizowane z tego adresu (2007-02-02)].
- p
- d
- e
1GL | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2GL/ Język drugiej generacji/ Asembler |
| ||||||||||||||
3GL / Język trzeciej generacji |
| ||||||||||||||
4GL/ Język czwartej generacji/ Język dziedzinowy |
| ||||||||||||||
5GL/Logiczne |
| ||||||||||||||
Ezoteryczne | |||||||||||||||
Inne |
|
- DSDE: lua