Lua:有没有办法将“nil”连接起来?价值观?

发布于 2024-12-14 06:54:25 字数 613 浏览 3 评论 0原文

我在 Lua 中有以下函数:

function iffunc(k,str,str1)
  if k ~= 0 then
    return str .. k .. (str1 or "")
  end
end

该函数允许我检查值 k 是否已填充。我实际上用它来确定是否要显示零值的内容。我的问题是这样的:我试图连接 iffunc() 的字符串,但由于某些值是 0,它返回尝试连接 nil 值的错误。例如:

levellbon = iffunc(levellrep["BonusStr"],"@wStr@r{@x111","@r}") .. iffunc(levellrep["BonusInt"],"@wInt@r{@x111","@r}") .. iffunc(levellrep["BonusWis"],"@wWis@r{@x111","@r}")

如果任何表值为 0,则会返回错误。我可以轻松地将“return 0”放入 iffunc 本身;但是,我也不想要一串 000。那么,无论哪些值为零,我该如何处理它,我都不会收到该错误呢?最终,我将对 levellbon 变量执行 iffunc 来查看它是否已填充,但我已经弄清楚了该部分。我现在只需要克服这个小障碍。谢谢!

I have the following function in Lua:

function iffunc(k,str,str1)
  if k ~= 0 then
    return str .. k .. (str1 or "")
  end
end

This function allows me to check if value k is populated or not. I'm actually using it to determine if I want to display something that has zero value. My problem is this: I'm trying to concatenate a string of iffunc(), but since some of the values are 0, it returns an error of trying to concatenate a nil value. For instance:

levellbon = iffunc(levellrep["BonusStr"],"@wStr@r{@x111","@r}") .. iffunc(levellrep["BonusInt"],"@wInt@r{@x111","@r}") .. iffunc(levellrep["BonusWis"],"@wWis@r{@x111","@r}")

If any of the table values are 0, it'll return the error. I could easily put 'return 0' in the iffunc itself; however, I don't want a string of 000, either. So how can I work it where no matter which values are nil, I won't get that error? Ultimately, I'm going to do an iffunc on the levellbon variable to see if that's populated or not, but I've got that part figured out. I just need to get past this little hurdle right now. Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薄荷→糖丶微凉 2024-12-21 06:54:25

我会这样做:

function iffunc(k,str,str1)
  if k == 0 then return "" end
  return str .. k .. (str1 or "")
end

I'd do this:

function iffunc(k,str,str1)
  if k == 0 then return "" end
  return str .. k .. (str1 or "")
end
薄荷港 2024-12-21 06:54:25

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

You should add an else statement in the function, where you return an empty string ("").

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文