如何在浏览器中执行Blockly生成的Python代码?

时间:2015-06-16 04:59:02

标签: python blockly

我正在关注示例Blockly Code Generators并能够生成Python代码。但是当我运行Python代码时,我收到一个错误。看来下面的错误是'eval(code)',如果我想在浏览器中执行Python代码,我该怎么办?谢谢你的帮助!

Blockly.JavaScript.addReservedWords('code');
var code = Blockly.JavaScript.workspaceToCode(workspace);
try {
  eval(code);
} catch (e) {
  alert(e);
}

here is the snapshot很遗憾,我没有足够的积分在这里发布图片

3 个答案:

答案 0 :(得分:1)

您可以使用简单的代码尝试此操作,例如 - print('Hello World!')

根据图片,问题可能是缩进,缩进在python中非常重要,否则会导致语法错误。

您还应该将代码更改为 -

Blockly.Python.addReservedWords('code');
var code = Blockly.JavaScript.workspaceToCode(workspace);
try {
  eval(code);
} catch (e) {
  alert(e);
}

答案 1 :(得分:0)

尝试使用编写的Python interp eval,如http://brython.info/

答案 2 :(得分:0)

当您使用javascript的eval函数时,实际上是说将页面打印为print()意味着用javascript打印页面。

Blockly本身提供了解决方案,以消除他们称为该函数的代码。

HTTP(S)

以上代码来自demos / code / code.js第553行中的code.js。