hscript icon indicating copy to clipboard operation
hscript copied to clipboard

Math.cos example fails when targeting HashLink

Open Arazati opened this issue 4 years ago • 3 comments

While trying to follow the example code

var script = "
	var sum = 0;
	for( a in angles )
		sum += Math.cos(a);
	sum; 
";
var parser = new hscript.Parser();
var program = parser.parseString(script);
var interp = new hscript.Interp();
interp.variables.set("Math",Math); // share the Math class
interp.variables.set("angles",[0,1,2,3]); // set the angles list
trace( interp.execute(program) );

with latest haxe 4.1.2 and hashlink 1.11.0, I get the error "Invalid function null" when it tries to find the cos function in Math. This -appears- to be a hashlink bug? But I'm not entirely sure if maybe there's a way around it that should be done in hscript instead.

The code executes as expected with both js and interp.

Reflect.getProperty(Math, "cos"); //null for HashLink target

Arazati avatar Jul 21 '20 08:07 Arazati

Try with -dce no maybe ?

ncannasse avatar Jul 21 '20 09:07 ncannasse

-dce no exposes random, min, and max, but not cos and others (specifically, none of the @:hlNative functions get reflection)

Arazati avatar Jul 21 '20 09:07 Arazati