luaapplication-restart

how to restart a lua program using the script in the lua script


It's me again

I'm trying to make a Terminal program in Lua since it's my best language I know, I'm making the calculator program in it and I'm trying to make it so if the user types "exit" the program will restart and will go back to the terminal, but I don't know how to reset the program through the code. if anyone can help that be deeply appreciated.

This is the code:

io.write("Terminal is starting up --- done!")
io.write("Making sure everything works --- Done!")
cmd = io.read()
io.write(">")

if cmd == "" then 
    io.write(">\n")
end

if cmd == "cal"then
    io.write("Calculator Terminal Program v1.0")
    io.write("what operation?/n")
    op = io.read()
    
    if op == "exit"then
        io.write("Exiting")
    end
end

Solution

  • To answer your question directly, I don't think it's possible to "restart the program". However, by taking advantage of loops, you can achieve the same result.

    For instance, this code probably does what you want:

    print('Terminal is starting up --- done!')
    print('Making sure everything works --- Done!')
    
    repeat
        io.write('>')
        cmd = io.read()
    
        if cmd == 'cal' then
            print('Calculator Terminal Program v1.0')
            repeat
                io.write('Operation: ')
                op = io.read()
            until op == 'exit'
            print('Exiting')
        elseif cmd == 'command' then
            --another command
        else
            print('Unknown command.')
        end
    
    until cmd == 'exit'
    

    Other tips: