前言
Lua有6中數據類型,分別是nil(空)、boolean(布爾)、number(數字)、string(字符)、table(表)、function(函數)
在Lua中可以使用type函數來返回一個值或者變量所屬的類型,如:
print(type("helle world")) -->output:string
print(type(print)) -->output:function
print(type(true)) -->output:boolean
1.nil(空)
Lua將nil用來表示“無效值”。一個變量再第一次賦值前默認值是nil,將nil賦值給一個全局變量就等同於刪除它。
local num print(num) -->output:nil num = 100 print(num) -->output:100
num = nil print(num) -->output:nil
2.boolean(布爾)
布爾值可選值為true/false,在Lua中nil和false為“假”,其余都為“真”,比如0和空字符都為真。
3.number(數字)
number用於表示實數,可以使用數學函數math.floor(向下取整),math.ceil(向上取整)
local order = 3.0 local score = 98.5 print(math.floor(order)) -->output:3 print(math.ceil(score)) -->output:99
4.string(字符)
在Lua中,字符串有三種表示方法:
1)使用一對單引號。如:‘hello’
2)使用一對雙引號。如:“hello”
3)使用長括號(即[[]])來定義。
注:Lua的字符串中的轉移字符不起作用。
Lua的字符串是不可改變的值,不能像再c語言中那樣直接修改字符串的某個字符,而是根據修改要求來創建一個新的字符串。
Lua也不能通過下標來訪問字符串的某個字符。
local str3 = [["add\name",'hello']] local str4 = [=[string have a [[]].]=] print(str1) -->output:hello world print(str2) -->output:hello lua print(str3) -->output:"add\name",'hello' print(str4) -->output:string have a [[]].
5.table(表)
table類型實現了一種抽象的“關聯數組”。關聯數組是一種具有特殊索引方式的數組,索引通常是字符串或者number類型,但也可以是除nil以外任意類型的值。
6.function(函數)
在Lua中,函數也是一種數據類型,函數可以存儲在變量中,可以通過參數傳遞給其他函數,還可以作為其他函數的返回值。
函數以end結尾。
local function foo()
print("in the function")
--dosomething()
local x = 10
local y = 20
return x + y
end
local a = foo --把函數賦給變量
print(a())
--output:
in the function
30
