我是 lua 的新手,我正在尝试编写一些代码来将信息发送到文本文件,该文本文件在每个循环周期都会被覆盖。发送到文本文件的信息根据增加到特定已知数字的值(3对于此示例),然后以任何顺序减少到该数字以下。
这是我卡住的地方:
我想使用相同的值向文本文件发送不同的信息,但基于值是否达到 3,如果这有意义的话。
英文示例:
- 如果值为2且未达到 3,则写入:UP 2
- 如果值为2并且已达到 3,则写入:DOWN 2
- 如果值为3,则写入:TOP
我的问题:
当一个值满足特定条件时,我可以让一个无限 while 循环在另一个 无限 while 循环内开始吗?elseif
如果可能,我想尝试使用下面的循环结构。
我的代码看起来有点像这样:
while true do
file = assert(io.open("file.txt","w+"))
value = ipc.readSD(0x0BE8)
if value = 0
file:write("UP 0")
file:close()
elseif value = 1
file:write("UP 1")
file:close()
elseif value = 2
file:write("UP 2")
file:close()
elseif value = 3
file:write("TOP")
file:close()
--How do I trigger/start this inner loop?
while true do
--now stay in here until break
file = assert(io.open("file.txt","w+"))
value = ipc.readSD(0x0BE8)
if
value = 0
file:write("DOWN 0")
file:close()
break
elseif
value = 1
file:write("DOWN 1")
file:close()
elseif
value = 2
file:write("DOWN 2")
file:close()
else
break
else
file:write("OUTSIDE")
end
end