我有一组包含数量信息的变量,而x则选择我使用的变量。如何连接字母s和var x并将其读作s2或s3等。我设法找到的代码不起作用。
x = 2
s1 = false
s2 = 64
s3 = 64
s4 = 64
s5 = 0
if s2 >= 0 then
x = 2
elseif s3 >= 0 then
x = 3
elseif s4 >= 0 then
x = 4
elseif s5 >= 0 then
x = 5
end
if turtle.placeDown() then
tryUp()
turtle.select(1)
_G["s"..x] = _G["s"..x] - 1
end
答案 0 :(得分:0)
为什么你需要这样做?
我建议改进你的代码是这样的:
local s = {false, 64, 64, 64, 0}
for i = 2, #s do
if s[i] >= 0 then
x = s[i]
end
end
if turtle.placeDown() then
tryUp()
turtle.select(1)
x = x-1
end
使用循环使代码有点整洁,并且您不需要使用全局变量。如果您坚持将_G与字符串连接与原始代码一起使用,请尝试以下操作:
x = 2
s1 = false
s2 = 64
s3 = 64
s4 = 64
s5 = 0
if s2 >= 0 then
x = "2" --Notice the string here
elseif s3 >= 0 then
x = "3"
elseif s4 >= 0 then
x = "4"
elseif s5 >= 0 then
x = "5"
end
if turtle.placeDown() then
tryUp()
turtle.select(1)
_G["s"..x] = _G["s"..x] - 1
end
这会用字符串而不是数字替换所有x值,这可能是导致错误的原因