Lua 教程


閱讀(980.9k) 收藏 (390)

手冊簡介

Lua 是一種輕量小巧的腳本語言,用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放。

手冊說明

201610261548235801

Lua是什么?

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ù). Lua由標(biāo)準(zhǔn)C編寫而成,代碼簡潔優(yōu)美,幾乎在所有操作系統(tǒng)和平臺(tái)上都可以編譯,運(yùn)行。一個(gè)完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。這一切都決定了Lua是作為嵌入式腳本的最佳選擇。

目標(biāo)

Lua的目標(biāo)是成為一個(gè)很容易嵌入其它語言中使用的語言。大多數(shù)程序員也認(rèn)為它的確做到了這一點(diǎn)。

特性

輕量級(jí)

Lua語言的官方版本只包括一個(gè)精簡的核心和最基本的庫。這使得Lua體積小、啟動(dòng)速度快,從而適合嵌入在別的程序里。5.0.2版的Lua的內(nèi)核小于120KB。

可擴(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)程 ,并非操作系統(tǒng)所支持的線程)支持;通過閉包和table可以很方便地支持面向?qū)ο缶幊趟枰囊恍╆P(guān)鍵機(jī)制,比如數(shù)據(jù)抽象,虛函數(shù),繼承和重載等。

Lua 應(yīng)用場景

游戲開發(fā)

獨(dú)立應(yīng)用腳本

Web 應(yīng)用腳本

擴(kuò)展和數(shù)據(jù)庫插件如:MySQL Proxy 和 MySQL WorkBench

安全系統(tǒng),如入侵檢測系統(tǒng)

使用Lua的項(xiàng)目

Minecraft中的電腦模組(ComputerCraft)

所有的為電腦和turtle(機(jī)器人)的代碼都是基于Lua的,你可以用它們與有(無)線路由器、打印機(jī)、磁盤驅(qū)動(dòng)器、顯示器互動(dòng)。

Adobe Photoshop Lightroom

Lightroom是Adobe公司的一款攝影后期制作軟件,最開始的版本由Shadowland代碼編寫,后期版本部分使用Lua實(shí)現(xiàn),Lua代碼占到代碼總量的63%。

金庸群俠傳lua復(fù)刻版

這個(gè)游戲,游戲迷們想必都玩過了。牛人用lua腳本重新弄了下。

魔獸世界

他的插件用的也是lua。

仙劍奇?zhèn)b傳五

解壓游戲到資源目錄可以看到游戲到腳本全部是使用Lua語言編寫的。

Garry's Mod

這個(gè)游戲的所有創(chuàng)意工坊插件都是由LUA腳本編寫的。

Lua相關(guān)地址

官網(wǎng):

http://www.lua.org/

API文檔:

http://www.lua.org/docs.html

教程:

http://hgci.cn/lua/lua-tutorial.html

下載:

http://www.lua.org/download.html


在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)