我有一种情况,我希望能够将某些变量传入和传出Coffeescript评估环境。情况如下:
coffee = require('coffee-script');
exports.run = function(req,res){
var program = req.query.program;
var inputs = req.query.inputs;
var outputs = coffee.eval(program);
res.json(outputs);
};
基本上,inputs
将是列出用户程序输入参数的对象,outputs
会将这些参数传递回Web界面以便显示。
如何将变量和函数公开给沙盒Coffeescript环境?
答案 0 :(得分:0)
我有一个我正在使用的解决方法。我正在让用户的Coffeescript程序返回一个函数,然后进行评估。
输入:
{ x:5, y:7 }
服务器端:
outputs = coffee.eval(program + '\nmain')(inputs,outputs);
用户代码:
main = (i,o) ->
o.z = i.x*5 + i.y
有点乱,但它暂时有用。