內嵌與外部輸入來源

輸入內容可以內嵌外部方式呈現。這項設定可控制值輸入的連接器是否要在方塊內 (內嵌) 或外側邊緣 (外部) 算繪,以及輸入內容是否要在相同或不同列中算繪。

「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" (內嵌輸入) 範例。

如果區塊可能會有數字等小型輸入內容,請使用內嵌輸入內容。 使用者可以透過內容選單切換這個選項。