Lua

Lua
Logo języka Lua
Logo języka
Pojawienie się

1993

Aktualna wersja stabilna

5.5.1
(24 lipca 2026) [±]

Twórca

Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo

Licencja

MIT

Platforma sprzętowa

wieloplatformowy

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(inne języki) (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

  1. Często, błędnie pisana LUA; Nazwa ta nie jest akronimem.

Przypisy

  1. LuaBind. (ang.).
  2. Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes, The evolution of Lua, „Proceedings of the third ACM SIGPLAN conference on History of programming languages”, San Diego California: ACM, 2007, DOI10.1145/1238844.1238846, ISBN 978-1-59593-766-7 [dostęp 2021-11-08] (ang.).

Linki zewnętrzne

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.