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