Lua 教程

Lua 是一種輕量小巧的腳本語(yǔ)言,用標(biāo)準(zhǔn)C語(yǔ)言編寫(xiě)并以源代碼形式開(kāi)放, 其設(shè)計(jì)目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。
Lua 是巴西里約熱內(nèi)盧天主教大學(xué)(Pontifical Catholic University of Rio de Janeiro)里的一個(gè)研究小組,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成并于1993年開(kāi)發(fā)。
設(shè)計(jì)目的
其設(shè)計(jì)目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。
Lua 特性
輕量級(jí): 它用標(biāo)準(zhǔn)C語(yǔ)言編寫(xiě)并以源代碼形式開(kāi)放,編譯后僅僅一百余K,可以很方便的嵌入別的程序里。
可擴(kuò)展: Lua提供了非常易于使用的擴(kuò)展接口和機(jī)制:由宿主語(yǔ)言(通常是C或C++)提供這些功能,Lua可以使用它們,就像是本來(lái)就內(nèi)置的功能一樣。
其它特性:
支持面向過(guò)程(procedure-oriented)編程和函數(shù)式編程(functional programming);
自動(dòng)內(nèi)存管理;只提供了一種通用類(lèi)型的表(table),用它可以實(shí)現(xiàn)數(shù)組,哈希表,集合,對(duì)象;
語(yǔ)言內(nèi)置模式匹配;閉包(closure);函數(shù)也可以看做一個(gè)值;提供多線程(協(xié)同進(jìn)程,并非操作系統(tǒng)所支持的線程)支持;
通過(guò)閉包和table可以很方便地支持面向?qū)ο缶幊趟枰囊恍╆P(guān)鍵機(jī)制,比如數(shù)據(jù)抽象,虛函數(shù),繼承和重載等。
Lua 應(yīng)用場(chǎng)景
游戲開(kāi)發(fā)
獨(dú)立應(yīng)用腳本
Web 應(yīng)用腳本
擴(kuò)展和數(shù)據(jù)庫(kù)插件如:MySQL Proxy 和 MySQL WorkBench
安全系統(tǒng),如入侵檢測(cè)系統(tǒng)
第一個(gè) Lua 程序
接下來(lái)我們使用 Lua 來(lái)輸出"Hello World!"
運(yùn)行后,會(huì)在屏幕上顯示 Hello, world!。