programming in lua 第五章笔记

当一个函数只有一个参数,而且这个参数的类型是字符串或者table,那么函数的()可以省略
函数的参数是一个local变量

lua函数可以返回多个返回值
s,e = string.find('Hello lua users','lua')
print(s,e) —> 7 9

()可以强制函数只返回1个返回值
print((foo0())

table.unpack,参数接收一个数组,然后以下标索引1开始 返回数组里的所有数据
print(table.unpack{10,20,30})
a,b = table.unpack{10,20,30}
可以指定返回的下标索引

lua可变参数函数的写法实例
function add( ... )
    local s = 0
    for i,v in ipairs{...} do
        s = s + v
    end
    return s
end

print(add(3,4,10,25,12))

{…} 可以把 可变参数 ...变成一个table
table.pack函数也可以把…变成一个table,并且有个n的字段标记个数

function nonils( ... )
    local arg = table.pack(...)
    for i=1,arg.n do
        if arg[i] == nil then return false end
    end
    return true
end

print(nonils(2,3,nil))
print(nonils(2,3))
print(nonils())
print(nonils(nil)) 

当一个函数有过多的可选参数时候,可以用如下定义方式
function Window(options)
end

w = Window{x=0,y=0,width=300,height=200,title = ‘Lua’,background = ‘blue’,border = true}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值