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.

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

1993

Aktualna wersja stabilna

5.5
(22 grudnia 2025) [±]

Twórca

Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo

Licencja

MIT

Platforma sprzętowa

wieloplatformowy

Platforma systemowa

wieloplatformowy

Strona internetowa

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

edytuj

Pierwszy program – hello world

edytuj
print("Hello World!")

Wynik działania programu:

Hello World!

Instrukcja if

edytuj
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

edytuj
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

edytuj
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

edytuj
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ż

edytuj
  • Wikipedia:Lua – o zastosowaniu Lua w Wikipedii i innych projektach Wikimedia
  • Roblox – prosta platforma do tworzenia gier w języku Lua

Uwagi

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

Przypisy

edytuj
  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

edytuj

📚 Artikel Terkait di Wikipedia

C (język programowania)

wspieranych. W 1978 opublikowane zostało pierwsze wydanie książki The C Programming Language (wyd. polskie Język C, 1987), autorstwa Briana Kernighana i Dennisa

Rust (język programowania)

Programming Language. [dostęp 2018-12-08]. (ang.). Frequently Asked Questions – What examples are there of large Rust projects?. The Rust Programming

Go (język programowania)

Go Programming Language [online], go.dev [dostęp 2025-01-27]  (ang.). Arrays, slices (and strings): The mechanics of 'append' - The Go Programming Language

Język programowania

University Press, 1987, s. 1. ISBN 0-19-511306-3. TIOBE Programming Community Index. Programming Language Examples Alike Cookbook Program „99-bottles-of-beer”

PL/M

PL/M (akronim od ang. Programming Language for Microprocessors lub Programming Language for Microcomputers) – kompilowany, strukturalny język programowania

Scratch (język programowania)

Blocks. Scratch Wiki. (ang.). Using Catrobat, a Scratch-like visual programming language for smartphones, in a middle school physics course. [dostęp 2017-11-30]

Python

purpose programming language (ang.). About Python. Python Software Foundation. [dostęp 2012-04-24]. (ang.). Mark Summerfield: Rapid GUI Programming with

Interpreter (program komputerowy)

[dostęp 2020-04-21]  (ang.). 3.3.2 – Chunks, [w:] Lua 5.3 Reference Manual, The Programming Language Lua, 26 czerwca 2018 [dostęp 2020-04-21]  (ang.). Byte