Lua函數(shù)(function)語(yǔ)法與庫(kù)函數(shù) --math 表(table)

-->函數(shù)

-->1.無(wú)參無(wú)返回值

-->函數(shù)的定義

-- function Say()

-- print("lua")

-- end

-- -->函數(shù)得調(diào)用

-- Say()

--->也可以把函數(shù)賦值

-- var =function ()

-- print("lua")

-- end

-- var()

-->2.無(wú)參有返回值

-- var =function ()

-- return "lua"

-- end

-- print (var())

-->3.有參無(wú)返回值

-- var =function (arg)

-- print('hello'..arg)

-- end

-- var(" lua")

-->4.有參有返回值

-- var =function (a,b)

-- return a+b

-- end

-- print(var(1,2))

-->演示:函數(shù)作為參數(shù)傳遞給函數(shù)

-- function myFunc(parg)

-- parg()

-- end

-- var=function ()

-- print("函數(shù)內(nèi)部執(zhí)行函數(shù)")

-- end

-- myFunc(var)

-->演示2:0000000

-- function myPrint(param)

-- print("----倆個(gè)數(shù)的和為----",param)

-- end

-- function Add(num1,num2,funcParam)

-- result= num1+num2

-- funcParam(result)

-- --return result

-- end

-- Add(1,10,myPrint)

-->在lua中函數(shù)可以有多個(gè)返回值

-- 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中函數(shù)的可變的參數(shù)列表

-- function Sum( ... )

-- print("這是一個(gè)求和函數(shù)")

-- local args = {...}

-- print("總共傳人"..#args.."個(gè)參數(shù)")

-- sum = args[1]+args[2]

-- print("和值為:",sum)

-- end

-- Sum(1,2)

---->練習(xí)1:比較倆個(gè)數(shù)的大小,返回最大的數(shù)

-- 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))

---->練習(xí)2:利用可變參數(shù)列表,使用任意一種循環(huán)求和值

-- 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 中的庫(kù)函數(shù) --math

---->向下取整

-- a=5.125

-- b=5.75

-- b=b+0.5

-- print(math.floor(a))

-- print(math.floor(b))

--->偽隨機(jī)數(shù)

--print(math.random(100))

-- math.min()

-- math.max()

--math.random(math.min(),math.max())

--print(math.abs(-10)) --絕對(duì)值

--assert 和 loadstring

-- function hello()

-- print('hello World')

-- end

-- str="hello()"

-- assert(loadstring(str))()

-- a="Hello lua"

-- b="print(a)"

-- assert(loadstring(b))()

--> 數(shù)組

-- array = {"c#","unity","lua"}

-- for i=1,3 do

-- print(array[i])

-- end

--> 這里需要注意lua中的數(shù)組是從1開(kāi)始的,當(dāng)然你也可以

--> 自定義下標(biāo)

-- array = {}

-- for i=-2,2 do

-- array[i] = i

-- end

-- for i=-2,2 do

-- print(array[i])

-- end

--> 練習(xí)1:找出數(shù)組中最大的值

-- 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)

--> 二維數(shù)組

-- 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",

"測(cè)試",

"測(cè)試1"

}

-- gMyTable["name"] = "lucy"

-- gMyTable["age"] = 18

-- gMyTable["sex"] = "woman"

-- gMyTable[1] = "測(cè)試"

--> 遍歷表

-- for k,v in ipairs(gMyTable) do

-- print(k,v)

-- end

--> 直接訪(fǎng)問(wèn)表內(nèi)元素

-- print(gMyTable[1])

-- print(gMyTable["name"])

-- for k,v in pairs(gMyTable) do

-- print(k,v)

-- end

-- print(gMyTable.name)

--->定義一個(gè)表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)? --- 修改后

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線(xiàn)程,因...
    小菜c閱讀 7,363評(píng)論 0 17
  • 1.1程序塊:Lua執(zhí)行的每段代碼,例如一個(gè)源代碼文件或者交互模式中輸入的一行代碼,都稱(chēng)為一個(gè)程序塊 1.2注釋?zhuān)?..
    c_xiaoqiang閱讀 2,693評(píng)論 0 9
  • 不支持上傳文件,所以就復(fù)制過(guò)來(lái)了。作者信息什么的都沒(méi)刪。對(duì)前端基本屬于一竅不通,所以沒(méi)有任何修改,反正用著沒(méi)問(wèn)題就...
    全棧在路上閱讀 2,071評(píng)論 0 2
  • 親愛(ài)的嘉嘉: 嘉嘉你好,一眨眼,有一個(gè)多月沒(méi)見(jiàn)到你了,記得上次見(jiàn)到你,還是過(guò)春節(jié)的時(shí)候。你想舅舅了嗎?我可是經(jīng)常...
    蔣二十閱讀 554評(píng)論 1 2
  • 從里約傳來(lái)了個(gè)好消息,中國(guó)女排奇跡般地大爆發(fā)。在郎平的率領(lǐng)下,她們一路過(guò)關(guān)闖將,晉級(jí)里約奧運(yùn)會(huì)女排冠軍。 ...
    午后閑聊閱讀 966評(píng)論 0 10

友情鏈接更多精彩內(nèi)容