Vojna Enciklopedija:Луа
Луа је једноставан, рефлективан, императивни и функционални програмски језик, дизајниран као скрипт језик са проширивом семантиком као примарним циљем. Само име језика потиче од португалске речи луа што значи месец. Језик је креиран 1993. године, а лиценциран је под МИТ лиценцом (до верзије 5.0 коришћена је БСД лиценца).
Луа поседује релативно једноставан C (програмски језик)| АПИ у поређењу са осталим скрипт језицима. Луа и ЈаваСцрипт имају врло сличну семантику упркост великим разликама у синтакси. По дизајну, Луа је врло слична и програмском језику Ицон. Има широку примену у индустрији видео-игара, али и у неким комерцијалним као и некомерцијалним апликацијама.
Луа програми се не интерпретирају директно из текстуалне Луа датотеке, већ се компајлирају на бајткод који се потом извршава на Луа виртуелној машини. Коришћењем минималног скупа типова података, Луа покушава да балансира између величине и моћи.
Пример кода
Класични "Поздрав свете" програм:
print("Pozdrav svete!")
или:
io.write("Pozdrav svete!\n")
принт() додаје карактер за прелаз у нови ред, за разлику од ио.wрите() где се он мора додати у самом коду.
-- Komentar u Lui počinje sa duplom crticom i završava sa krajem linije.
-- [[Višelinijski stringovi i komentari
se obeležavaju duplim uglastim zagradama.]]
Факторијел је пример рекурзивне функције:
function faktorijel(n)
if n == 0 then
return 1
else
return n * faktorijel(n - 1)
end
end
Други облик за функцију факторијела потиче од Луиног начина израчуна логичког оператора, по коме Луа враћа вредност последње израчунатог операнда у изразу:
function faktorijel2(n)
return n == 0 and 1 or n * faktorijel2(n - 1)
end