Bloki wewnętrzne

Wewnętrzne bloki to bloki dołączone do danych wejściowych wartości i instrukcji. Poszczególne generatory kodu blokowego muszą obsługiwać połączenie swojego wewnętrznego kodu bloki, aby kod został wstawiony we właściwym miejscu.

import {javascriptGenerator, Order} from 'blockly/javascript';

javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) {
  // Generate innner block code.
  const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');
  const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

  // Concatenate the string.
  const code = `some code ${statement} ${value} some more code`;

  // Return the code.
  return code;
}

Dane wejściowe instrukcji

Kod wewnętrznych bloków dołączonych do danych wejściowych instrukcji można wygenerować za pomocą statementToCode Powoduje to wywołanie funkcji generator kodu blokowego bloku instrukcji i uchwyty dodając wcięcie.

const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');

W przypadku bezpośredniego połączenia wewnętrznego wystarczy wywołać statementToCode do danych wejściowych.

Dane wejściowe

Kod wewnętrznych bloków przyłączonych do danych wejściowych wartości można wygenerować za pomocą funkcji valueTocode Powoduje to wywołanie funkcji generator kodu blokowego bloku wartości i uchwyty dodawanie nawiasów wokół wewnętrznych bloków w razie potrzeby.

Zapoznaj się z dokumentacją na temat nawiasów, aby dowiedzieć się, jak aby sterować nawiasami.

const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

Połącz kod

Po otrzymaniu ciągu kodu bloku wewnętrznego możesz go połączyć w we właściwym miejscu z ciągiem kodu.

const code = `some code ${statement} ${value} some more code`;

Kod zwrotu

Różne typy bloków wymagają, aby ciąg kodu był zwracany w różnych , zapoznaj się więc z informacjami o poszczególnych stronach: