Lua 是一個擴展式程序設(shè)計語言,它被設(shè)計成支持通用的過程式編程,并有相關(guān)數(shù)據(jù)描述的設(shè)施。 Lua 也能對面向?qū)ο缶幊?,函?shù)式編程,數(shù)據(jù)驅(qū)動式編程提供很好的支持。 它可以作為一個強大、輕量的腳本語言,供任何需要的程序使用。 Lua 以一個用 clean C 寫成的庫形式提供。(所謂 Clean C ,指的 ANSI C 和 C++ 中共通的一個子集)
作為一個擴展式語言,Lua 沒有 “main” 程序的概念:它只能 嵌入 一個宿主程序中工作,這個宿主程序被稱作 embedding program 或簡稱為 host 。 宿主程序可以通過調(diào)用函數(shù)執(zhí)行一小段 Lua 代碼,可以讀寫 Lua 變量,可以注入 C 函數(shù)讓 Lua 代碼調(diào)用。 這些擴展的 C 函數(shù),可以大大的擴展了 Lua 可以處理事務(wù)的領(lǐng)域,這樣就可以訂制出各種語言, 而它們共享一個統(tǒng)一的句法格式的框架。 Lua 的官方發(fā)布版就包含了一個叫做 lua 的簡單的宿主程序,它用 Lua 庫提供了一個保證獨立的 Lua 解釋器。
Lua 是一個自由軟件,它的使用許可決定了對它的使用過程一般沒有任何保證。 這份手冊中描述的東西的實現(xiàn),可以在 Lua 的官方網(wǎng)站 www.lua.org 找到,
跟其它的許多參考手冊一樣,這份文檔有些地方比較枯燥。 關(guān)于 Lua 的設(shè)計想法的探討,可以看看 Lua 網(wǎng)站上提供的技術(shù)論文。 有關(guān)用 Lua 編程的細(xì)節(jié)介紹,可以讀一下 Roberto 的書,Programming in Lua (Second Edition) 。