For/while 使用 f 字符串循环
For/while loop with an f-string
如何正确执行 returns 作为 f 字符串的 for 循环(如 Python。)
例如,
for i=10, 1, -1 do
test = string.gsub('checkbox[val = "a"]','a', i)
return test
end
Returns
checkbox[v10l = "10"]
然而,我期待:
checkbox[val = "1"]
checkbox[val = "2"]
..
..
checkbox[val = "10"]
老实说,我不确定你想在这里做什么。 Lua 不支持 f 弦,而您正尝试 return 从函数多次?
这可能是最接近您想要的:
for i=1, 10 do
print(string.format('checkbox[val = "%d"]', i))
end
您正在执行以下操作:
- 运行
for
从 10 循环到 1,与您想要的方向相反。
- 用循环变量替换
checkbox[val = "a"]
中所有出现的字符串 a
,为您提供结果字符串并将其分配给(全局,这不好)变量 test
.
- 正在返回刚刚得到的字符串,从而退出循环和包含循环的函数。
如果您尝试将多个值从循环传递到外部世界,您可以执行以下操作之一:
- 将它们添加到table和return中:
local tab = {}
for i=1, 10 do
tab[i] = string.format('checkbox[val = "%d"]', i)
end
return tab
- 接受回调,所以调用者传入一个函数来调用每个值:
function example(cb)
for i=1, 10 do
cb(string.format('checkbox[val = "%d"]', i))
end
end
example(print) -- Here, we pass `print` as a callback, but it's usually your own function
选择更适合您特定界面的内容。
如何正确执行 returns 作为 f 字符串的 for 循环(如 Python。)
例如,
for i=10, 1, -1 do
test = string.gsub('checkbox[val = "a"]','a', i)
return test
end
Returns
checkbox[v10l = "10"]
然而,我期待:
checkbox[val = "1"]
checkbox[val = "2"]
..
..
checkbox[val = "10"]
老实说,我不确定你想在这里做什么。 Lua 不支持 f 弦,而您正尝试 return 从函数多次?
这可能是最接近您想要的:
for i=1, 10 do
print(string.format('checkbox[val = "%d"]', i))
end
您正在执行以下操作:
- 运行
for
从 10 循环到 1,与您想要的方向相反。 - 用循环变量替换
checkbox[val = "a"]
中所有出现的字符串a
,为您提供结果字符串并将其分配给(全局,这不好)变量test
. - 正在返回刚刚得到的字符串,从而退出循环和包含循环的函数。
如果您尝试将多个值从循环传递到外部世界,您可以执行以下操作之一:
- 将它们添加到table和return中:
local tab = {}
for i=1, 10 do
tab[i] = string.format('checkbox[val = "%d"]', i)
end
return tab
- 接受回调,所以调用者传入一个函数来调用每个值:
function example(cb)
for i=1, 10 do
cb(string.format('checkbox[val = "%d"]', i))
end
end
example(print) -- Here, we pass `print` as a callback, but it's usually your own function
选择更适合您特定界面的内容。