我想在Blockly中为工作区创建一个Developer Variable,但是我找不到必要的函数/方法。
我不想在按钮上创建变量。即使工作区中没有块,也应包含该变量。
通过这两个函数,我可以获得已经创建的变量:
var variables = workspace.getAllVariables();
var dev_var = Blockly.Variables.allDeveloperVariables(workspace);
但是设置功能是什么?
答案 0 :(得分:0)
开发人员变量是用户永远不会看到的变量,但会存在于生成的代码中。如果这就是你要找的东西:它没有API,但是你可以做一些事情。
yourGenerator.addReservedWords('var1,var2,...')
。您可以在包装器代码中初始化变量。init
函数。另一方面,如果你想要的是一个始终显示在工具箱中的用户可见变量,而没有用户创建它,你应该调用yourWorkspace.createVariable('variable_name')
。
答案 1 :(得分:0)
单元测试块都假设变量 unittestResults 存在并且可以写入。为了表明这一点,块定义包括函数 getDeveloperVars,它返回一个字符串数组。每个字符串都是一个变量名。Follow this issue in gtihub
Blockly.Blocks['unittest_fail'] = {
// Always assert an error.
init: function() {
this.setColour(65);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.appendDummyInput()
.appendField(new Blockly.FieldTextInput('test name'), 'MESSAGE')
.appendField('fail');
this.setTooltip('Records an error.');
},
getDeveloperVars: function() {
return ['unittestResults'];
}
};