-->函數
-->1.無參無返回值
-->函數的定義
-- function Say()
-- print("lua")
-- end
-- -->函數得調用
-- Say()
--->也可以把函數賦值
-- var =function ()
-- print("lua")
-- end
-- var()
-->2.無參有返回值
-- var =function ()
-- return "lua"
-- end
-- print (var())
-->3.有參無返回值
-- var =function (arg)
-- print('hello'..arg)
-- end
-- var(" lua")
-->4.有參有返回值
-- var =function (a,b)
-- return a+b
-- end
-- print(var(1,2))
-->演示:函數作為參數傳遞給函數
-- function myFunc(parg)
-- parg()
-- end
-- var=function ()
-- print("函數內部執行函數")
-- end
-- myFunc(var)
-->演示2:0000000
-- function myPrint(param)
-- print("----倆個數的和為----",param)
-- end
-- function Add(num1,num2,funcParam)
-- result= num1+num2
-- funcParam(result)
-- --return result
-- end
-- Add(1,10,myPrint)
-->在lua中函數可以有多個返回值
-- function F(a,b)
-- return a+b,a-b,a*b,a/b
-- end
-- value,v2,v3,v4=F(10,10)
-- print(value)
-- print(v2)
-- print(v3)
-- print(v4)
-->lua中函數的可變的參數列表
-- function Sum( ... )
-- print("這是一個求和函數")
-- local args = {...}
-- print("總共傳人"..#args.."個參數")
-- sum = args[1]+args[2]
-- print("和值為:",sum)
-- end
-- Sum(1,2)
---->練習1:比較倆個數的大小,返回最大的數
-- function Max(a,b)
-- -- if a>b then
-- -- print("最大值為",a)
-- -- elseif b>a then
-- -- print("最大值為",b)
-- -- end
-- return a>b and a or b
-- end
-- print(Max(1,2))
---->練習2:利用可變參數列表,使用任意一種循環求和值
-- function F( ... )
-- local args = {...}
-- sum=0
-- for i=1,#args do
-- sum=sum+args[i]
-- end
-- return sum
-- end
-- print(F(1,2,3))
---->lua 中的庫函數 --math
---->向下取整
-- a=5.125
-- b=5.75
-- b=b+0.5
-- print(math.floor(a))
-- print(math.floor(b))
--->偽隨機數
--print(math.random(100))
-- math.min()
-- math.max()
--math.random(math.min(),math.max())
--print(math.abs(-10)) --絕對值
--assert 和 loadstring
-- function hello()
-- print('hello World')
-- end
-- str="hello()"
-- assert(loadstring(str))()
-- a="Hello lua"
-- b="print(a)"
-- assert(loadstring(b))()
表
--> 數組
-- array = {"c#","unity","lua"}
-- for i=1,3 do
-- print(array[i])
-- end
--> 這里需要注意lua中的數組是從1開始的,當然你也可以
--> 自定義下標
-- array = {}
-- for i=-2,2 do
-- array[i] = i
-- end
-- for i=-2,2 do
-- print(array[i])
-- end
--> 練習1:找出數組中最大的值
-- array = {1,2,3,4,5}
-- max = 0
-- for k,v in ipairs(array) do
-- max = max < v and v or max
-- end
-- print(max)
--> 二維數組
-- array = {}
-- for i=1,3 do
-- array[i] = {}
-- for j=1,3 do
-- array[i][j] = i * j
-- end
-- end
-- for i=1,3 do
-- print(array[i][j])
-- end
-- end
--> 演示泛型迭代器
-- days = {"星期一","星期二","星期三","星期四","星期五",
-- "星期六","星期七"}
-- for index,value in pairs(days) do
-- print(index,value)
-- end
-- days = {}
-- days["key"] = "value"
-- days["key1"] = "value1"
-- days["key2"] = "value2"
-- days[1] = 2
-- days[2] = 3
-- days[3] = 4
-- for i,v in pairs(days) do
-- print(i,v)
-- end
----------> 表
gMyTable = {
["name"] = "lucy",
["age"] = 18,
["sex"] = "woman",
["name"] = "lily",
"測試",
"測試1"
}
-- gMyTable["name"] = "lucy"
-- gMyTable["age"] = 18
-- gMyTable["sex"] = "woman"
-- gMyTable[1] = "測試"
--> 遍歷表
-- for k,v in ipairs(gMyTable) do
-- print(k,v)
-- end
--> 直接訪問表內元素
-- print(gMyTable[1])
-- print(gMyTable["name"])
-- for k,v in pairs(gMyTable) do
-- print(k,v)
-- end
-- print(gMyTable.name)
--->定義一個表t1
t1={}
t1[1]=1
t1[2]=2
t1["key"]="修改前"
t2 = t1
t2["key"] = "修改后"
print(t2.key)? --- 修改后
print(t1.key)? --- 修改后
t2 = nil
print(t1.key)? --- 修改后