1. 程式人生 > 實用技巧 >Lua之基礎篇

Lua之基礎篇

  新到一家公司,接觸有些業務竟然直接通過伺服器,在nginx層面就完成了,主要是基於OpenResty和Lua來實現的。打算深入瞭解一下這門神奇的語言。。。

  為了嵌入應用程式中,從而為應用程式提供靈活的擴充套件和定製功能。

Lua 特性

  • 輕量級: 它用標準C語言編寫並以原始碼形式開放,編譯後僅僅一百餘K,可以很方便的嵌入別的程式裡。
  • 可擴充套件: Lua提供了非常易於使用的擴充套件介面和機制:由宿主語言(通常是C或C++)提供這些功能,Lua可以使用它們,就像是本來就內建的功能一樣。
  • 其它特性:
    • 支援面向過程(procedure-oriented)程式設計和函數語言程式設計(functional programming);
    • 自動記憶體管理;只提供了一種通用型別的表(table),用它可以實現陣列,雜湊表,集合,物件;
    • 語言內建模式匹配;閉包(closure);函式也可以看做一個值;提供多執行緒(協同程序,並非作業系統所支援的執行緒)支援;
    • 通過閉包和table可以很方便地支援面向物件程式設計所需要的一些關鍵機制,比如資料抽象,虛擬函式,繼承和過載等

Lua 應用場景

  • 遊戲開發
  • 獨立應用指令碼
  • Web 應用指令碼
  • 擴充套件和資料庫外掛如:MySQL Proxy 和 MySQL WorkBench
  • 安全系統,如入侵檢測系統

安裝

  1)Mac

brew install lua