Lua

programlingvo
1 ŝanĝo en ĉi tiu versio atendas kontrolon. La stabila versio estis patrolita je 10 feb. 2024.
Por aliaj signifoj, bv. rigardi la apartigilan paĝon: LUA

Lua estas programlingvo dinamika malpeza, refleksiva, ordonema kaj iom funkciema. La

Lua
Logobildo de Lua
Logobildo de Lua
programlingvofunkcia programlingvo • objektema programlingvo • manuskripta programlingvo • ordonema programlingvo • interpretata programlingvotradukata programlingvolibera programaro
Paradigmo: Multaparadigma: objektema, imperativa, funkcia, meta
Paradigmo(j): multparadigma programado • objektema programado • funkcia programado • proceda programado • prototipema programado • ordonema programado
Aperis en: 1993
Aŭtoro(j): Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes
Tipa sistemo: dinamika, forta, duck
Ĉefaj realigoj: Lua, LuaJIT, LuaVela, MoonSharp, Luvit, LuaRT, Luau
Programlingva(j) dialekto(j): Metalua, Idle, GSL Shell
Kreita sub la influo de: Io, JavaScript, Ruby, Squirrel, Julia, MiniD
Havas influon sur: C++, CLU, Modula, Scheme, SNOBOL
Permesilo(j): angle MIT
Retejo: angle [1]
vdr

plej grava celo de ĉi tiu programlingvo estas ebligi ke aliaj programoj uzu ĝin kiel etendilon. Nuntempe, multaj komputilludoj uzas Lua-n, pro ĝia facileco, por difini dinamikajn aferojn de la ludo, ekzemple: artefaritan intelekton, poziciojn de ludantoj, ilojn en scenejoj, kaj tiel plu. Alia programlingvo, ekz. C++ pro ĝia rapideco, estas uzata por grafikaj funkcioj kaj la baza logiko de la ludo.

Lua estis kreita en 1993 en Brazilo de Roberto Ierusalimschy, Luiz Henrique de Figueiredo kaj Waldemar Celes. Ĝia nomo signifas luno en la portugala.

Filozofio

redakti

Lua estas plurparadigma programlingvo. Pro tio, la programisto povas uzi la stilon, kiu plej taŭgas en ĉia situacio. Malgraŭ tio, Lua estas tre malgranda kaj malpeza. Ĝi ebligas krei multajn konceptojn de aliaj programlingvoj per pli simplaj kaj bazaj konceptoj. Ekzemple, oni povas krei klasojn, nomspacojn kaj listojn per asociaj tabeloj (pli specife, hakettabeloj), Luae nomataj «tabeloj» (angle tables). La asociaj tabeloj simple ligas parojn da datumoj, tiel ke unu estas la indico (aŭ ŝlosilo) por trovi la alian. Kiam oni uzas entjerojn kiel ŝlosilojn, tiuj tabeloj aspektas kaj uzeblas samkiel la ordinaraj tabeloj de la tradiciaj ĝeneralcelaj programlingvoj (respondaj al vektoroj, matricoj ktp).

Krome, Lua havas esprimilon nomatan meta-tabeloj (meta-tables) por ŝanĝi specifajn kondutojn de tabeloj. Ekzemple, oni povas agordi ke, se iu datumo ne troveblas en la tabelo, Lua serĉu ĝin per la sama ŝlosilo en alia tabelo. Tio estas la bazo por realigi klas-heredadon en Lua.

Eblas mencii ke Lua estis influita de programlingvoj kiel Scheme kaj Icon, kaj influis Io-n. La kreo de Lua okazis precipe pro la bezono havi simplan lingvon por agordi pli kompleksajn programojn kaj samtempe aldoni iom da logiko (algoritmojn) al la agordodosieroj (kompare kun statikaj agordlingvoj, kiuj nur entenas datumojn kaj povas komputi nenion). Pro la facileco kaj dinamikeco de Lua, ĝi ofte estas komparata kun Python.

Referencoj

redakti

Eksteraj ligiloj

redakti