lua table.insert报错 bad argument #2 to table (number expected, got string)

本文详细解析了Lua编程中table.insert函数与gsub函数的正确使用方法,通过一个具体的错误示例,阐述了如何避免参数类型不匹配导致的运行时错误,并提供了正确的代码实现。

lua报错代码实例:

local k= 'text="123sdf圣达菲s | 1232" asdf'
local a = {}
print(k:gsub("123",""))

table.insert(a,k:gsub("123",""))


text="sdf圣达菲s | 2" asdf    2


bad argument #2 to 'table' (number expected, got string)

原因在于,lua的table.insert 本来接收3个参数, table,pos,content

其中,pos可以省略,默认追加到table结尾

而我们gsub时候,实际上是返回了2个参数,所以insert时候被当作传入了3个参数,因此报错

因此要多加个括号,如下

table.insert(a, k:gsub("123","") )
修改为
table.insert(a, ( k:gsub("123","") ) )

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值