私は 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