gpt4 book ai didi

lua - 如何在循环结束时保留 for 循环变量的值?

转载 作者:行者123 更新时间:2023-12-04 14:02:26 25 4
gpt4 key购买 nike

我试图在 Lua 中循环查找某些内容,完成后我需要使用找到的位置。

for j = 1,100 do
<do some stuff>
if <some test> then
break
end
end
if j >= 100 then
return
end

不幸的是,我得到一个错误提示在 for 循环退出后,j 的值为 nil。我如何使用 j 结束的值?显然我可以创建一个额外的变量并在我中断之前分配它,但这似乎是错误的,而且我从未见过另一种语言在循环结束时将循环变量设置为 nil,所以我想知道是否没有一种更好的方法来实现这一目标。

最佳答案

循环变量仅在 for 循环 block 内可见。您可以按照 PIL 4.3.4 Numeric For 中的建议创建另一个变量来解决这个问题.

  local index
for j=1,100 do
if j == 10 then
index = j
end
end

或者,如果您正在执行常见操作,那么最好使用具有早期返回功能的函数。

     function find(tbl, val)
for i, v in ipairs(tbl) do
if v == val then
return i
end
end
end

关于lua - 如何在循环结束时保留 for 循环变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30969065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com