Lua:有没有一种方法可以连接“空值”?

我在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,它将返回该错误。我可以很容易地在iffunc本身中放置'return 0'; 然而,我也不想得到000的字符串。那么,无论哪个值为空,我如何处理它也不会遇到该错误?最终,我将在levellbon变量上执行iffunc,查看它是否已填充,但我已经解决了那部分。我只需要克服这个小障碍。谢谢!

原文链接 https://stackoverflow.com/questions/8049570

点赞
stackoverflow用户440558
stackoverflow用户440558

你应该在函数里添加一个 else 语句,在其中返回一个空字符串 ("").

2011-11-08 13:45:33
stackoverflow用户312586
stackoverflow用户312586

我会这样做:

function iffunc(k,str,str1)
  如果 k == 0 则返回空字符串
  返回 str .. k .. (str1 or "") 
end
2011-11-08 14:04:18