Lua是一個(gè)小巧的腳本語(yǔ)言。是巴西里約熱內(nèi)盧天主教大學(xué)(Pontifical Catholic University of Rio de Janeiro)裡的研究小組,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成並於1993年開(kāi)發(fā)。其設(shè)計(jì)目的是為了嵌入應(yīng)用程式中,從而為應(yīng)用程式提供靈活的擴(kuò)展和自訂功能。 Lua由標(biāo)準(zhǔn)C編寫而成,幾乎在所有作業(yè)系統(tǒng)和平臺(tái)上都可以編譯,運(yùn)行。 Lua並沒(méi)有提供強(qiáng)大的函式庫(kù),這是由它的定位決定的。所以Lua不適合作為開(kāi)發(fā)獨(dú)立應(yīng)用程式的語(yǔ)言。 Lua 有一個(gè)同時(shí)進(jìn)行的JIT項(xiàng)目,提供在特定平臺(tái)上的即時(shí)編譯功能。
Lua腳本可以很容易的被C/C ?程式碼調(diào)用,也可以反過(guò)來(lái)調(diào)用C/C 的函數(shù),這使得Lua在應(yīng)用程式中可以被廣泛應(yīng)用。不僅僅作為擴(kuò)展腳本,也可以作為普通的配置文件,代替XML,ini等文件格式,並且更容易理解和維護(hù)。?
下面讓我們感受下第一個(gè)Lua程式!
第一個(gè)Lua程式
Lua由標(biāo)準(zhǔn)C編寫而成,程式碼簡(jiǎn)潔優(yōu)美,幾乎在所有作業(yè)系統(tǒng)和平臺(tái)上都可以編譯,運(yùn)行。一個(gè)完整的Lua解釋器不過(guò)200k,在目前所有腳本引擎中,Lua的速度是最快的。這一切都決定了Lua是作為嵌入式腳本的最佳選擇。
提示:我們的Lua教學(xué)將幫助您學(xué)習(xí)從初級(jí)到高級(jí)的Lua知識(shí)。如果你有任何疑問(wèn),請(qǐng)前往PHP中文網(wǎng)Lua社群提出你的問(wèn)題,會(huì)有熱心網(wǎng)友為你解答。
Lua特性
#輕量級(jí)
Lua語(yǔ)言的官方版本只包括一個(gè)精簡(jiǎn)的核心和最基本的庫(kù)。這使得Lua體積小、啟動(dòng)速度快,因此適合嵌入在別的程式裡。 5.0.2版的Lua的核心小於120KB,而Python的核心大約860KB,Perl的核心大約1.1MB。
可擴(kuò)展
Lua並不像其它許多"大而全"的語(yǔ)言那樣,包括很多功能,例如網(wǎng)路通訊、圖形介面等。但是Lua提供了非常易於使用的擴(kuò)充介面和機(jī)制:由宿主語(yǔ)言(通常是C或C )提供這些功能,Lua可以使用它們,就像是本來(lái)就內(nèi)建的功能一樣。
其它特性
Lua也具有其它一些特性:同時(shí)支援面向過(guò)程(procedure-oriented)程式設(shè)計(jì)和函數(shù)式程式設(shè)計(jì)(functional programming );自動(dòng)記憶體管理;只提供了一種通用類型的表(table),用它可以實(shí)現(xiàn)數(shù)組,哈希表,集合,對(duì)象;語(yǔ)言內(nèi)置模式匹配;閉包(closure);函數(shù)也可以看做一個(gè)值;提供多執(zhí)行緒(協(xié)同進(jìn)程[4]? ,並非作業(yè)系統(tǒng)所支援的執(zhí)行緒)支援;透過(guò)閉包和table可以很方便地支援物件導(dǎo)向程式設(shè)計(jì)所需的一些關(guān)鍵機(jī)制,例如資料抽象,虛函數(shù),繼承和重載等。
Lua目標(biāo)
Lua的目標(biāo)是成為一個(gè)很容易嵌入其它語(yǔ)言中使用的語(yǔ)言。大多數(shù)程式設(shè)計(jì)師也認(rèn)為它的確做到了這一點(diǎn)。
很多應(yīng)用程式、遊戲使用LUA作為自己的嵌入式腳本語(yǔ)言,以此來(lái)實(shí)現(xiàn)可配置性、可擴(kuò)充性。這其中包括魔獸世界、博德之門、憤怒的小鳥(niǎo)、QQ三國(guó)、VOCALOID3、Garry's Mod、太陽(yáng)神三國(guó)殺、遊戲王ygocore和飢荒等。
Lua應(yīng)用程式場(chǎng)景
遊戲開(kāi)發(fā)?
#獨(dú)立應(yīng)用程式腳本
- ## Web 應(yīng)用程式腳本
- 擴(kuò)充功能與資料庫(kù)外掛程式如:MySQL Proxy 和MySQL WorkBench
- 安全系統(tǒng),如入侵偵測(cè)系統(tǒng)
提示:本教學(xué)的每一章都包含了很多Lua實(shí)例,您可以直接點(diǎn)擊?"運(yùn)行實(shí)例"?按鈕在線查看結(jié)果。這些例子將幫助您更好地理解和使用Lua語(yǔ)言。
最新章節(jié)
- Lua 數(shù)據(jù)庫(kù)訪問(wèn) 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ā)影片教學(xué)(60天成就PHP大牛線上訓(xùn)練課程) 2022-02-17
- 簡(jiǎn)單聊聊PHP創(chuàng)業(yè)那點(diǎn)事 2023-01-04
- 大型實(shí)戰(zhàn)天龍八部之開(kāi)發(fā)Mini版MVC架構(gòu)仿糗事百科網(wǎng)站 2018-01-25
- 登入驗(yàn)證與經(jīng)典留言板 2018-03-02
- PHP實(shí)戰(zhàn)開(kāi)發(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影片教學(xué) 2022-04-12