2015年3月24日 星期二

Lua 認識與語法學習



http://www.lua.org/


Lua是一種輕量語言,它的官方版本只包括一個精簡的核心和最基本的庫。這使得Lua體積小、啟動速度快。它用標準C語言編寫並以原始碼形式開放,編譯後僅僅一百餘K,可以很方便的嵌入別的程式裡。和許多「大而全」的語言不一樣,網路通訊、圖形介面等都沒有預設提供。但是Lua可以很容易地被擴充功能:由宿主語言(通常是C或C++)提供這些功能,Lua可以使用它們,就像是本來就內建的功能一樣。事實上,現在已經有很多成熟的擴充功能模組可供選用。
Lua是一種多重編程範式的程式設計語言:它只提供了很小的一個特性集合來滿足不同編程範式的需要,而不是為某種特定的編程範式提供繁雜的特性支援。例如,Lua並不提供繼承這個特性,但是你可以用元表來模擬它。諸如命名空間這些概念都沒有在語言基本特性中實作,但是我們可以用表結構(Lua唯一提供的複雜資料結構)輕易模擬。Lua可以在執行時隨時構造出一個函式,並把它看作一個物件(正是所謂的first class function),這個特性可以很好的滿足函數語言程式設計的需要。這是提供了這些基本的元特性,我們可以任意的對語言進行自需的改造。
Lua原生支援的資料類型非常之少,它只提供了數字(預設是雙精度浮點數,可配置)、布爾量、字串、表、子程式協程(coroutine)以及用戶自訂資料這幾種。但是其處理表和字串的效率非常之高,加上元表的支援,開發者可以高效的模擬出需要的複雜資料類型(比如集合、陣列等)。
Lua是一個動態弱型別語言,支援增量式垃圾收集策略。有內建的,與作業系統無關的協作式多執行緒(coroutine)支援。
有8種基本類型:nil、布爾值(boolean)、數字型(number)、字串型(string)、用戶自訂類型(userdata)、函式(function)、執行緒(thread)和表(table)


關於Lua語法,可看這本書.



相關參考資料:

Lua - 維基百科,自由的百科全書 - Wikipedia

[PDF] Programming in Lua - CentOS中文站

Lua 5.1 参考手册 - 云风工作室

edartuz/lua-serial · GitHub

http://gamedevgeek.com/tutorials/getting-started-with-lua/

沒有留言:

張貼留言