Skip to content

Instantly share code, notes, and snippets.

@canonic-epicure
Created July 1, 2010 03:57
Show Gist options
  • Save canonic-epicure/459552 to your computer and use it in GitHub Desktop.
Save canonic-epicure/459552 to your computer and use it in GitHub Desktop.
var Script = process.binding('evals').Script
var sys = require('sys')
var puts = sys.puts
var runner = function (code) { return eval(code) }
var sandbox = {}
sandbox.me = sandbox
var innerRunner = Script.runInNewContext('var SELF = me; __RUNNER__ = ' + runner.toString(), sandbox)
innerRunner('Object.yo = 1')
innerRunner('foo = 1')
puts("Object.yo = " + Object.yo)
puts("inner Object.yo = " + innerRunner('Object.yo'))
puts("inner foo = " + innerRunner('foo'))
puts("sandbox.foo = " + sandbox.foo)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment