I have the following function in Lua:
function iffunc(k,str,str1)
if k ~= 0 then
return str .. k .. (str1 or "")
end
end
这个函数可以检查数值k是否有值。我用它来判断是否显示数值为零的内容。但是我的问题是:我想把iffunc()的字符串连接起来,但由于一些值为0,因此返回一个尝试连接空值的错误。例如:
levellbon = iffunc(levellrep["BonusStr"],"@wStr@r{@x111","@r}") .. iffunc(levellrep["BonusInt"],"@wInt@r{@x111","@r}") .. iffunc(levellrep["BonusWis"],"@wWis@r{@x111","@r}")
如果表格中的任何值为0,它将返回错误。我可以在if函数本身中轻松地放置'return 0';但是,我也不想得到一串000。那么,我该如何处理才能避免出现这种错误?最终,我会对levellbon变量进行if函数操作,以查看它是否被填充或未填充,但我已经解决了这部分问题。我现在只需要克服这个小障碍。谢谢!
k
为0时,你是否可以只返回一个空字符串(""
)? - Some programmer dudesomething and A or B
。如果something
为真,则会推送值 A,否则将推送值 B。例如:k ~= 0 and str..k..(str1 or "") or ""
。 - Decoprint("this is a string " .. tostring(nilObject))
上面的代码会打印以下输出:this is a string nil
- buch11