Lua是一個(gè)小巧的腳本語言。是巴西里約熱內(nèi)盧天主教大學(xué)(Pontifical Catholic University of Rio de Janeiro)里的一個(gè)研究小組,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成并于1993年開發(fā)。 其設(shè)計(jì)目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。Lua由標(biāo)準(zhǔn)C編寫而成,幾乎在所有操作系統(tǒng)和平臺(tái)上都可以編譯,運(yùn)行。Lua并沒有提供強(qiáng)大的庫,這是由它的定位決定的。所以Lua不適合作為開發(fā)獨(dú)立應(yīng)用程序的語言。Lua 有一個(gè)同時(shí)進(jìn)行的JIT項(xiàng)目,提供在特定平臺(tái)上的即時(shí)編譯功能。
Lua腳本可以很容易的被C/C ?代碼調(diào)用,也可以反過來調(diào)用C/C 的函數(shù),這使得Lua在應(yīng)用程序中可以被廣泛應(yīng)用。不僅僅作為擴(kuò)展腳本,也可以作為普通的配置文件,代替XML,ini等文件格式,并且更容易理解和維護(hù)。?
下面讓我們感受下第一個(gè)Lua程序!
第一個(gè)Lua程序
Lua由標(biāo)準(zhǔn)C編寫而成,代碼簡潔優(yōu)美,幾乎在所有操作系統(tǒng)和平臺(tái)上都可以編譯,運(yùn)行。 一個(gè)完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。這一切都決定了Lua是作為嵌入式腳本的最佳選擇。
提示:我們的Lua教程將幫助您學(xué)習(xí)從初級(jí)到高級(jí)的Lua知識(shí)。如果你有任何疑問,請(qǐng)前往PHP中文網(wǎng)Lua社區(qū)提出你的問題,會(huì)有熱心網(wǎng)友為你解答。
Lua特性
輕量級(jí)
Lua語言的官方版本只包括一個(gè)精簡的核心和最基本的庫。這使得Lua體積小、啟動(dòng)速度快,從而適合嵌入在別的程序里。5.0.2版的Lua的內(nèi)核小于120KB,而Python的內(nèi)核大約860KB,Perl的內(nèi)核大約1.1MB。?
可擴(kuò)展
Lua并不象其它許多"大而全"的語言那樣,包括很多功能,比如網(wǎng)絡(luò)通訊、圖形界面等。但是Lua提供了非常易于使用的擴(kuò)展接口和機(jī)制:由宿主語言(通常是C或C )提供這些功能,Lua可以使用它們,就像是本來就內(nèi)置的功能一樣。
其它特性
Lua還具有其它一些特性:同時(shí)支持面向過程(procedure-oriented)編程和函數(shù)式編程(functional programming);自動(dòng)內(nèi)存管理;只提供了一種通用類型的表(table),用它可以實(shí)現(xiàn)數(shù)組,哈希表,集合,對(duì)象;語言內(nèi)置模式匹配;閉包(closure);函數(shù)也可以看做一個(gè)值;提供多線程(協(xié)同進(jìn)程 [4]? ,并非操作系統(tǒng)所支持的線程)支持;通過閉包和table可以很方便地支持面向?qū)ο缶幊趟枰囊恍╆P(guān)鍵機(jī)制,比如數(shù)據(jù)抽象,虛函數(shù),繼承和重載等。
Lua目標(biāo)
Lua的目標(biāo)是成為一個(gè)很容易嵌入其它語言中使用的語言。大多數(shù)程序員也認(rèn)為它的確做到了這一點(diǎn)。
很多應(yīng)用程序、游戲使用LUA作為自己的嵌入式腳本語言,以此來實(shí)現(xiàn)可配置性、可擴(kuò)展性。這其中包括魔獸世界、博德之門、憤怒的小鳥、QQ三國、VOCALOID3、Garry's Mod、太陽神三國殺、游戲王ygocore和饑荒等。
Lua應(yīng)用場景
游戲開發(fā)?
獨(dú)立應(yīng)用腳本
Web 應(yīng)用腳本
擴(kuò)展和數(shù)據(jù)庫插件如:MySQL Proxy 和 MySQL WorkBench
安全系統(tǒng),如入侵檢測系統(tǒng)
本Lua教程手冊(cè)涵蓋的內(nèi)容
本Lua教程涵蓋所有Lua基礎(chǔ)和高級(jí)知識(shí),包含了Lua基本語法、Lua流程控制、Lua函數(shù)、Lua運(yùn)算符、Lua字符串、Lua數(shù)組、Lua迭代器、Lua錯(cuò)誤處理、Lua面向?qū)ο蟮鹊萀ua初高級(jí)知識(shí)。
提示:本教程的每一章都包含了很多Lua實(shí)例,您可以直接點(diǎn)擊?"運(yùn)行實(shí)例"?按鈕在線查看結(jié)果。這些例子將幫助您更好地理解和使用Lua語言。
最新章節(jié)
- Lua 數(shù)據(jù)庫訪問 2016-10-20
- Lua 垃圾回收 2016-10-18
- Lua 調(diào)試(Debug) 2016-10-18
- Lua 錯(cuò)誤處理 2016-10-18
- Lua 文件 I/O 2016-10-18
- Lua 協(xié)同程序(coroutine) 2016-10-18
- Lua 元表(Metatable) 2016-10-18
相關(guān)課程
- 最新ThinkPHP 5.1全球首發(fā)視頻教程(60天成就PHP大牛線上培訓(xùn)班課) 2022-02-17
- 簡單聊聊PHP創(chuàng)業(yè)那點(diǎn)事 2023-01-04
- 大型實(shí)戰(zhàn)天龍八部之開發(fā)Mini版MVC框架仿糗事百科網(wǎng)站 2018-01-25
- 登錄驗(yàn)證與經(jīng)典留言板 2018-03-02
- PHP實(shí)戰(zhàn)開發(fā)極速入門: PHP快速創(chuàng)建[小型商業(yè)論壇] 2022-06-28
- 快速入門Node.JS全套完整版 2022-09-30
- 自己動(dòng)手寫 PHP MVC 框架(40節(jié)精講/巨細(xì)/新人進(jìn)階必看) 2022-12-08
- 馬士兵spring視頻教程 2022-04-12