内嵌输入源与外部输入源

输入可以内嵌呈现,也可以外部呈现。此属性用于控制值输入的连接器是在块内(内嵌)还是在块外边缘(外部)呈现,以及输入是在同一行还是不同行中呈现。

“count with x from value to value do statement”块的内嵌和外部变体。在内嵌变体中,该块有两行:顶行是“count with x from value to value”,底行是“do statement”。
值输入看起来像从顶行内部切出的拼图块。在外部变体中,该块包含四行:“count with x”“from value”“to value”和“do statement”。值输入位于第二行和第三行的末尾,看起来像母拼图连接器。

块定义可以指定一个可选的布尔值,用于控制输入是否内嵌。

JSON

{
  // ...,
  "inputsInline": true
}

JavaScript

init: function() {
  // ...
  this.setInputsInline(true);
}

当此布尔值设置为 true(内嵌输入源)时:

  • 值输入的连接器在块内呈现。
  • 陈述输入内容会单独显示在一行中。
  • 虚拟输入、行尾输入和值输入都呈现在同一行中,但语句或行尾输入之后的任何输入都会呈现在新行中。

当设置为 false(外部输入源)时:

  • 值输入的连接器呈现在代码块的外边缘。
  • 所有输入都显示在各自的行中,但紧跟在虚拟输入后面的行尾输入会显示在与虚拟输入相同的行中。

如果您难以直观地理解这一点,可以在 Blockly 开发者工具中构建块,并为 inputs 下拉菜单选择不同的设置(automaticexternalinline)。

如果未定义此布尔值,Blockly 将使用一些启发式方法来猜测哪种模式最适合。假设 Blockly 做出了正确的选择,最好将此字段保留为未定义状态,因为不同的语言翻译可以自动采用不同的模式。请参阅插值令牌顺序"set %1 to %2"(外部输入)和 "put %2 in %1"(内嵌输入)的示例。

当某个块可能包含数字等小输入时,请使用内嵌输入。 用户可以通过上下文菜单切换此选项。