Lua笔记3 函数和数组

函数

这里主要介绍可变参数函数,使用...表示可变参数函数。

function add( ... )
    local s = 0
    for i, v in ipairs{...} do  -- {...}表示可变参数表,是局部变量
        s = s + v
    end
    return s
end

print(add(1,2,3,4,5,6,7))  -- 累加求和

可以使用select("#", ...)获取可变参数的变量。代码示例:

function average( ... )
    local result = 0
    local arg = {...}  -- 可变变量构建列表
    for i, v in ipairs(arg) do 
        result = result + v 
    end
    local len = select("#", ...)  -- 获取可变变量的个数
    print("总共传入 " .. len .. " 个数")
    return result / len
end

print(average(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))

也可以选择指定位置的参数

function foo(...)
    for i = 1, select("#", ...), 2 do 
        local arg = select(i, ...)
        print("arg: ", arg)  -- 选择第i个参数
    end
end

foo(1,2,3,4,5,6,7,8,9,10)

输出:

arg:    1
arg:    3
arg:    5
arg:    7
arg:    9

数组

Lua的数组本质上还是一个tabletable是变长的,而且是基于键值索引的,我们把键值默认为下标即可,使用多重映射来构造高维数组。

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
    for j = 1, 3 do
        print(array[i][j])
    end
end
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值