This might sound absurd but sometimes back when I was totally new to Lua I wanted a REPL. To my surprise, I couldn't find one. Can someone suggest something so I can use it when I get back to lua again.
My main gripe with the current REPL is it doesn't print anything to the screen without an explicit print call. So myMethod(x) will not print anything, instead you have to assign the result to a variable and print it or wrap everything you do in a call to print.
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> return "hi"
hi
> print "hi"
hi
> ="hi"
hi
I agree that this is not ideal, though. It's possible to use a loader to make a more expression-oriented Lua, and then make a REPL that uses that. rlwrap lua
Might help. rlwrap is a wrapper program that adds readline functionality to programs that otherwise wouldn't have it. while true do
io.write("> ")
exp = io.read()
print((loadstring("return " .. exp) or loadstring(exp))())
end
Actually kinda works. Example session: > 5 + 5
10
> msg = "Hello"
> print(msg)
Hello
> double = function(x) return x * 2 end
> double(2)
4
> a = 4
> b = a + 5
> b
9