LUA的基礎知識

前言

Lua是動態類型語言,變量不要類型定義,只須要爲變量賦值。數組

  • 全局變量

全局變量

在默認狀況下,變量老是認爲是全局的。數據結構

  • 全局變量不須要聲明,給一個變量賦值後即建立了這個全局變量,訪問一個沒有初始化的全局變量也不會出錯,只不過獲得的結果是:nil。
  • 當且僅當一個變量不等於nil時,這個變量即存在。

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 的建立是經過"構造表達式"來完成,最簡單構造表達式是{},用來建立一個空表。
  • 咱們能夠使用type函數測試給定變量或者值的類型:
print(type("Hello world"))      --> string
  • boolean(布爾)

boolean 類型只有兩個可選值:true(真) 和 false(假),Lua 把 false 和 nil 看做是"假",其餘的都爲"真":函數

  • string(字符串)
字符串由一對雙引號或單引號來表示。
也能夠用 2 個方括號 "[[]]" 來表示"一塊"字符串
字符串鏈接使用的是 .. 
使用 # 來計算字符串的長度,放在字符串前面
  • table(表)

在 Lua 裏表的默認初始索引通常以 1 開始。測試

local tbl = {"apple", "pear", "orange", "grape"}
for key, val in pairs(tbl) do
    print("Key", key)
end

table 不會固定長度大小,有新數據添加時 table 長度會自動增加,沒初始的 table 都是 nil。code

相關文章
相關標籤/搜索