インライン入力と外部入力

入力は、インラインまたは外部でレンダリングできます。これにより、値入力のコネクタをブロック内(インライン)にレンダリングするか、ブロックの外側の端(外部)にレンダリングするか、また入力を同じ行にレンダリングするか、異なる行にレンダリングするかを制御します。

ブロック定義では、入力がインラインかどうかを制御するオプションのブール値を指定できます。

JSON

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

JavaScript

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

このブール値が true に設定されている場合(インライン入力):

  • 値入力のコネクタはブロック内にレンダリングされます。
  • ステートメントの入力は、それぞれ 1 行にレンダリングされます。
  • ダミー入力、行末入力、値入力はすべて同じ行にレンダリングされます。ただし、ステートメントまたは行末入力に続く入力は新しい行にレンダリングされます。

false(外部入力)に設定されている場合:

  • 値入力のコネクタは、ブロックの外側のエッジにレンダリングされます。
  • ダミー入力の後に続く行末入力はダミー入力と同じ行にレンダリングされますが、それ以外はすべての入力が独自の行にレンダリングされます。

これを視覚化できない場合は、Blockly デベロッパー ツールでブロックを作成し、inputs プルダウンに別の設定(automaticexternalinline)を選択します。

このブール値が定義されていない場合、Blockly はヒューリスティクスを使用して最適なモードを推測します。Blockly が正しい選択を行うと仮定すると、言語の翻訳が異なると自動的に異なるモードになる可能性があるため、このフィールドを未定義のままにすることをおすすめします。補間トークンの順序で、"set %1 to %2"(外部入力)と "put %2 in %1"(インライン入力)の例をご覧ください。

ブロックに数字などの小さな入力が含まれる可能性が高い場合は、インライン入力を使用します。このオプションは、コンテキスト メニューで切り替えることができます。