Lua是一個小巧的腳本語言。是巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)裡的研究小組,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所組成並於1993年開發。其設計目的是為了嵌入應用程式中,從而為應用程式提供靈活的擴展和自訂功能。 Lua由標準C編寫而成,幾乎在所有作業系統和平台上都可以編譯,運行。 Lua並沒有提供強大的函式庫,這是由它的定位決定的。所以Lua不適合作為開發獨立應用程式的語言。 Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。
Lua腳本可以很容易的被C/C 程式碼調用,也可以反過來調用C/C 的函數,這使得Lua在應用程式中可以被廣泛應用。不僅僅作為擴展腳本,也可以作為普通的配置文件,代替XML,ini等文件格式,並且更容易理解和維護。
下面讓我們感受下第一個Lua程式!
第一個Lua程式
Lua由標準C編寫而成,程式碼簡潔優美,幾乎在所有作業系統和平台上都可以編譯,運行。一個完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。這一切都決定了Lua是作為嵌入式腳本的最佳選擇。
提示:我們的Lua教學將幫助您學習從初級到高級的Lua知識。如果你有任何疑問,請前往PHP中文網Lua社群提出你的問題,會有熱心網友為你解答。
Lua特性
#輕量級
Lua語言的官方版本只包括一個精簡的核心和最基本的庫。這使得Lua體積小、啟動速度快,因此適合嵌入在別的程式裡。 5.0.2版的Lua的核心小於120KB,而Python的核心大約860KB,Perl的核心大約1.1MB。
可擴展
Lua並不像其它許多"大而全"的語言那樣,包括很多功能,例如網路通訊、圖形介面等。但是Lua提供了非常易於使用的擴充介面和機制:由宿主語言(通常是C或C )提供這些功能,Lua可以使用它們,就像是本來就內建的功能一樣。
其它特性
Lua也具有其它一些特性:同時支援面向過程(procedure-oriented)程式設計和函數式程式設計(functional programming );自動記憶體管理;只提供了一種通用類型的表(table),用它可以實現數組,哈希表,集合,對象;語言內置模式匹配;閉包(closure);函數也可以看做一個值;提供多執行緒(協同進程[4] ,並非作業系統所支援的執行緒)支援;透過閉包和table可以很方便地支援物件導向程式設計所需的一些關鍵機制,例如資料抽象,虛函數,繼承和重載等。
Lua目標
Lua的目標是成為一個很容易嵌入其它語言中使用的語言。大多數程式設計師也認為它的確做到了這一點。
很多應用程式、遊戲使用LUA作為自己的嵌入式腳本語言,以此來實現可配置性、可擴充性。這其中包括魔獸世界、博德之門、憤怒的小鳥、QQ三國、VOCALOID3、Garry's Mod、太陽神三國殺、遊戲王ygocore和飢荒等。
Lua應用程式場景
遊戲開發
#獨立應用程式腳本
- ## Web 應用程式腳本
- 擴充功能與資料庫外掛程式如:MySQL Proxy 和MySQL WorkBench
- 安全系統,如入侵偵測系統
提示:本教學的每一章都包含了很多Lua實例,您可以直接點擊 "運行實例" 按鈕在線查看結果。這些例子將幫助您更好地理解和使用Lua語言。
最新章節
- Lua 数据库访问 2016-10-20
- Lua 面向对象 2016-10-18
- Lua 垃圾回收 2016-10-18
- Lua 调试(Debug) 2016-10-18
- Lua 错误处理 2016-10-18
- Lua 文件 I/O 2016-10-18
- Lua 协同程序(coroutine) 2016-10-18
- Lua 元表(Metatable) 2016-10-18
相關課程
- 最新ThinkPHP 5.1全球首發影片教學(60天成就PHP大牛線上訓練課程) 2022-02-17
- 簡單聊聊PHP創業那點事 2023-01-04
- 大型實戰天龍八部之開發Mini版MVC架構仿糗事百科網站 2018-01-25
- 登入驗證與經典留言板 2018-03-02
- PHP實戰開發極速入門: PHP快速創建[小型商業論壇] 2022-06-28
- 快速入門Node.JS全套完整版 2022-09-30
- 自己動手寫 PHP MVC 框架(40節精講/鉅細/新人進階必看) 2022-12-08
- 馬士兵spring影片教學 2022-04-12