feldt:~/tmp$ cat proto.neko
var superproto = $new(null);
superproto.puts = function() { $print(this.msg + "\n") }

var proto = $new(null);
$objsetproto(proto,superproto);
proto.print = function() { $print(this.msg) }

var o = $new(null);
o.msg = "hello";
$objsetproto(o,proto);
o.puts(); // print "hello"

$objsetproto(o,null); // remove proto
o.print(); // exception
feldt:~/tmp$ nekoc proto.neko
feldt:~/tmp$ neko proto
hello
Called from proto.neko line 14
Uncaught exception - Invalid call

This is normal exception since you're setting the proto to "null", hence the method is no longer available.

feldt:~/tmp$ nekoboot proto
Called from tools/nekoboot.neko line 60
Uncaught exception - [file_contents,proto]
feldt:~/tmp$ nekoboot proto.n
Called from tools/nekoboot.neko line 65
Uncaught exception - File not found : neko
feldt:~/tmp$

What am I missing?

nekoboot is looking for the executable named "neko" by using the NEKOPATH environment variable. Your NEKOPATH should point to it.

Nicolas

--
Neko : One VM to run them all (http://nekovm.org)

Reply via email to