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

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

「値から値まで x でカウントする文を実行する」ブロックのインライン バージョンと外部バージョン。インライン バリエーションでは、ブロックに 2 つの行があります。上の行には「count with x from value to value」、下の行には「do statement」があります。値の入力は、上段の内側から切り取られたパズルのピースのように見えます。外部バリエーションでは、ブロックに「count with x」、「from value」、「to value」、「do statement」の 4 つの行があります。値の入力は 2 行目と 3 行目の末尾にあり、パズルのメス型コネクタのように見えます。

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

JSON

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

JavaScript

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

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

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

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

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

この視覚化が難しい場合は、Blockly Developer Tools でブロックを作成し、inputs プルダウン(automaticexternalinline)に異なる設定を選択します。

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

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