天天看點

Lua腳本入門--

2.1 lua是什麼

Lua [1] 是一個小巧的腳本語言。它是巴西裡約熱内盧天主教大學(Pontifical Catholic University of Rio de Janeiro)裡的一個由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所組成的研究小組于1993年開發的。 其設計目的是為了通過靈活嵌入應用程式中進而為應用程式提供靈活的擴充和定制功能。Lua由标準C編寫而成,幾乎在所有作業系統和平台上都可以編譯,運作。Lua并沒有提供強大的庫,這是由它的定位決定的。是以Lua不适合作為開發獨立應用程式的語言。Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。

簡單來說:

Lua 是一種輕量小巧的腳本語言,用标準C語言編寫并以源代碼形式開放, 其設計目的是為了嵌入應用程式中,進而為應用程式提供靈活的擴充和定制功能。

2.2 特性

  • 支援面向過程(procedure-oriented)程式設計和函數式程式設計(functional programming);
  • 自動記憶體管理;隻提供了一種通用類型的表(table),用它可以實作數組,哈希表,集合,對象;
  • 語言内置模式比對;閉包(closure);函數也可以看做一個值;提供多線程(協同程序,并非作業系統所支援的線程)支援;
  • 通過閉包和table可以很友善地支援面向對象程式設計所需要的一些關鍵機制,比如資料抽象,虛函數,繼承和重載等。

2.3 應用場景

  • 遊戲開發
  • 獨立應用腳本
  • Web 應用腳本
  • 擴充和資料庫插件如:MySQL Proxy 和 MySQL WorkBench
  • 安全系統,如入侵檢測系統
  • redis中嵌套調用實作類似事務的功能
  • web容器中應用處理一些過濾 緩存等等的邏輯,例如nginx。