repeat

You can make code loop by using repeat ... until condition - the test is done at the end of the loop, so the body of the loop is always executed at least once.
local action
repeat 
  action = get_action ()
until action ~= ""
If you want to leave the loop from inside you can use a break statement:
local action
local count = 0
repeat 
  action = get_action ()

  count = count + 1
  if count > 5 then
    break
  end -- if

until action ~= ""
The only conditions that are false are the values false and nil - every other value is considered true.

If you want to test at the start of the loop use while instead.

Lua keyword/topics

Topics