0

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

1 に答える 1