Lua 函数相关(一)

本文介绍了Lua中的函数用法,包括处理多个返回值、可变参数、函数作为参数传递。还展示了数学库的使用,如取绝对值、求最大值、最小值、平方根和向下取整。此外,讨论了日期和时间的操作,随机数生成以及闭包函数的概念。最后,通过示例展示了字符串查找功能和返回函数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Lua 函数相关(一)

---函数多个返回值
function test01(arr)
    local maxIndex = 1
    local maxNum = arr[maxIndex]
    for i, v in pairs(arr) do
        if maxNum<v then
            maxIndex = i
            maxNum = v
        end
    end
    return maxIndex,maxNum
end
arr = {4,6,8,2,13,54,1,32}
print(test01(arr))
---可变参数
function test02(...)
    local res = 0;
    local t = {...}
    for i, v in pairs(t) do
        res = res + v
    end
    return res/#t
end
print(test02(1,2,3,4))
---函数作为参数
function myPrint(val)
    print("自定义打印输出函数:"..val)
end
function test03(i,j,func)
    func(i+j)
end
test03(1,2,myPrint)
---数学库相关
print("===================================================")

print(math.abs(-20))
print(math.max(1,1,2,3,4,5))
print(math.min(1,4,2,1,3,5,7))
print(math.sqrt(25))
print(math.floor(14.932))

print(os.date())
print(os.time())

--真随机数
function GetRandomNumber(min,max)
    return math.random(min,max)
end
math.randomseed(tonumber(tostring(os.time()):reverse():sub(1, 9)))
for i = 1, 10 do
    print(GetRandomNumber(1,1000))

end

---闭包函数
function test04(i)
    print(i)
    return function()
        return i + 1
    end
end
v = test04(2)
print(v())

function test05(i)
    return i
end
print(test05(99))


function ResMul()
    local num = 10
    function fun1()
        print(num)
    end
    function fun2()
        print(num+99)
    end
    return fun1,fun2
end

res1,res2 = ResMul()
res1()
res2()
function test06()
    return (string.find("zzs is zzs","is",1))
end
print(test06())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值