Lua : 函数封装好,用起来就是爽

目录

1、Lua函数的格式

2、Lua可变参数函数

3、多个返回值的函数


Lua中函数比较简单,只是相比较c/c++来说,lua函数的返回值比较特殊,他可以返回一个或者多个值,且值的类型可不相同。

1、Lua函数的格式

--[[
Lua 函数语法格式:

function func(arg)
 body
end

--]]

-- 计算table中所有number元素的和
function sum_tab(tab)
    sum = 0
    for i,v in ipairs(tab) do
        if type(v)=="number" then
          sum = sum + v;
          print(i,v,sum)
        end
    end
    return sum
end

tab = {1,3,"dd",4}
print(sum_tab(tab)) -- 8

2、Lua可变参数函数

-- 可变参函数函数
function sum(...)
  
    local tab={...}
    print("参数个数:"..select("#",...),#tab)  -- 两种表述都可以计算tab中元素的个数
    sum = 0
    for i,v in ipairs(tab) do
        sum = sum + v;
        print(i,v,sum)
    end
    return sum
end

-- 测试
print("sum is:",sum(2,3,4,5,6,7,8,9,10))

3、多个返回值的函数

-- 例子1

-- 数值交换,并返回交换后的值
function swap(x,y)
  x,y = y,x
  return x,y
end

-- 测试
x,y = swap(3,2)
print("x="..x..",y="..y)
-- 例子2

-- return 多个返回值,且类型不同

function test_mutiple_rets(num,string,tab)
  return num,string,tab
end

-- 测试
tab = {...}
num,string,tab = test_mutiple_rets(100,"she is a girl",{2,10,3,4})

print(num,string) 

for i,v in ipairs(tab) do
  print(i..":"..v)
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

键盘会跳舞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值