I have a Lua file filled with a couple of functions, and I'm using LuaJ to execute these scripts via Java. I'm able to get Java functions to work within Lua, but how would I call a Lua function from Java?
1 reply to this topic
Members - Reputation: 395
Posted 29 June 2012 - 11:11 PM
Depends on how you're using the API. Straight from the example in the Javadocs, you'd do something like:
LuaValue globals = JsePlatform.standardGlobals(); LuaValue sqrt = globals.get("math").get("sqrt"); LuaValue print = globals.get("print"); LuaValue d = sqrt.call( a ); print.call( LuaValue.valueOf("sqrt(5):"), a );It looks like LuaValue is your transport to the Lua layer - it contains most of the overloads you'd need. You grab the function you want and then execute a call on it with the arguments you wish to pass.