forked from XINCGer/Unity3DTraining
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDataType.lua
65 lines (59 loc) · 1.31 KB
/
DataType.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
print ("2"+6)
print ("1"+"8")
print ("abc" .. "def")
print (123 .. 456)
print("\n")
len ="www.baidu.com"
print (#len)
print (#"Linux")
print("\n")
--创建一个空table
local tb1 ={}
--直接初始化table
local tb2 ={"a","b","c"}
a ={}
a["key"]="value"
key =10;
a[key]=22
a[key]= a[key]+11
for k,v in pairs(a) do
print (k .. ":" .. v)
end
print("\n")
--lua Table的索引一般以1开始而不是0
local tbl = {"apple", "pear", "orange", "grape"}
for key, val in pairs(tbl) do
print("Key", key)
end
print("\n")
--table 不会固定长度大小,有新数据添加时 table 长度会自动增长,没初始的 table 都是 nil
a3 = {}
for i = 1, 10 do
a3[i] = i
end
a3["key"] = "val"
print(a3["key"])
print(a3["none"])
--在 Lua 中,函数是被看作是"第一类值(First-Class Value)",函数可以存在变量里
print("\n")
function factorial1(n)
if n == 0 then
return 1
else
return n * factorial1(n - 1)
end
end
print(factorial1(5))
factorial2 = factorial1
print(factorial2(5))
--function 可以以匿名函数(anonymous function)的方式通过参数传递:
print("\n")
function anonymous(tab, fun)
for k, v in pairs(tab) do
print(fun(k, v))
end
end
tab = { key1 = "val1", key2 = "val2" }
anonymous(tab, function(key, val)
return key .. " = " .. val
end)