ZeroBrane Studio – Lua IDE with code analyzer, live coding
studio.zerobrane.com
studio.zerobrane.com
These days Adobes Brackets is using pretty much the same approach in the JS side of things.
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