# 1 – 簡介
Lua 是一門擴展式程序設計語言,被設計成支持通用過程式編程,并有相關數據描述設施。 同時對面向對象編程、函數式編程和數據驅動式編程也提供了良好的支持。 它作為一個強大、輕量的嵌入式腳本語言,可供任何需要的程序使用。 Lua 由 _clean C(標準 C 和 C++ 間共通的子集)_ 實現成一個庫。
作為一門擴展式語言,Lua 沒有 "main" 程序的概念: 它只能 _嵌入_ 一個宿主程序中工作, 該宿主程序被稱為 _被嵌入程序_ 或者簡稱 _宿主_ 。 宿主程序可以調用函數執行一小段 Lua 代碼,可以讀寫 Lua 變量,可以注冊 C 函數讓 Lua 代碼調用。 依靠 C 函數,Lua 可以共享相同的語法框架來定制編程語言,從而適用不同的領域。 Lua 的官方發布版包含一個叫做 `lua` 的宿主程序示例, 它是一個利用 Lua 庫實現的完整獨立的 Lua 解釋器,可用于交互式應用或批處理。
Lua 是一個自由軟件,其使用許可證決定了它的使用過程無需任何擔保。 本手冊所描述的實現可以在 Lua 的官方網站 `www.lua.org` 找到。
與其它的許多參考手冊一樣,這份文檔有些地方比較枯燥。 關于 Lua 背后的設計思想, 可以看看 Lua 網站上提供的技術論文。 至于用 Lua 編程的細節介紹, 請參閱 Roberto 的書,_Programming in Lua_。