Simple lua wrapper in a haxe extension
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ndll
project
test
.gitignore
Lua.hx
README.md
build.hxml
haxelib.json
include.xml

README.md

Run Lua code in Haxe

Run any Lua code inside Haxe on neko/cpp targets. Has the option of passing a context object that will set variables before running the script.

var result = Lua.run("return true"); // returns a Bool to Haxe

Pass in values with a context object. The key names are used as variable names in the Lua script.

var result = Lua.run("if num > 14 then return 14 else return num end", {num: 15.3});

What if you want to call a function created in Haxe from Lua? Just pass the function in the context!

var result = Lua.run("return plus1(15)", { plus1: function(val:Int) { return val + 1; } });
if (result == 16)
	trace("success!");

Lua instances

It's possible to create multiple Lua instances to run scripts with different contexts/libraries.

var lua = new Lua();
lua.loadLibs(["base", "math"]);
lua.setVars({ myVar: 1 });
var result = lua.execute("return myVar");

Calling Lua functions

Calling global functions defined in lua can be done after executing a chunk of Lua code. You can either pass in a single value (for single argument functions) or an array (for multiple argument functions).

var lua = new Lua();
lua.execute("function add(a, b) return a + b end");
var result = lua.call("add", [1, 5]); // returns 6