-->函数
-->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) --- 修改后
网友评论