Lua是動態類型語言,變量不要類型定義,只須要爲變量賦值。數組
在默認狀況下,變量老是認爲是全局的。數據結構
值能夠存儲在變量中,做爲參數傳遞或結果返回。
Lua中有8個基本類型分別爲:nil、boolean、number、string、userdata、function、thread和table。app
nil 這個最簡單,表示一個無效值(在條件表達式中至關於false)。 nil 還有一個"刪除"做用 boolean 包含兩個值:false和true。 number 表示雙精度類型的實浮點數 string 字符串由一對雙引號或單引號來表示 function 由 C 或 Lua 編寫的函數 userdata 表示任意存儲在變量中的C數據結構 thread 表示執行的獨立線路,用於執行協同程序 table Lua 中的表(table)實際上是一個"關聯數組"(associative arrays),數組的索引能夠是數字或者是字符串。在 Lua 裏,table 的建立是經過"構造表達式"來完成,最簡單構造表達式是{},用來建立一個空表。
print(type("Hello world")) --> string
boolean 類型只有兩個可選值:true(真) 和 false(假),Lua 把 false 和 nil 看做是"假",其餘的都爲"真":函數
字符串由一對雙引號或單引號來表示。 也能夠用 2 個方括號 "[[]]" 來表示"一塊"字符串 字符串鏈接使用的是 .. 使用 # 來計算字符串的長度,放在字符串前面
在 Lua 裏表的默認初始索引通常以 1 開始。測試
local tbl = {"apple", "pear", "orange", "grape"} for key, val in pairs(tbl) do print("Key", key) end
table 不會固定長度大小,有新數據添加時 table 長度會自動增加,沒初始的 table 都是 nil。code