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