İç bloklar

İç bloklar, değer ve ifade girişlerinize eklenen bloklardır. Bağımsız blok kodu oluşturma araçları, kodun doğru yere eklenmesi için iç bloklarının birleştirilmesiyle ilgilenmelidir.

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;
}

Ekstre girişleri

İfade girişlerine eklenen iç blokların kodu, statementToCode kullanılarak oluşturulabilir. Bu, ifade bloğunun blok kodu oluşturma aracını çağırır ve girinti kodunu işler.

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

Yalnızca doğrudan bir ifade girişine bağlı iç blok için statementToCode çağırmanız gerekir.

Değer girişleri

Değer girişlerine eklenmiş iç blokların kodu valueTocode kullanılarak oluşturulabilir. Bu işlev, değer bloğunun blok kodu kodu oluşturma aracını çağırır ve gerektiğinde iç blokların kodunun etrafına parantez ekleme işlemini işler.

Parantezleri kontrol etme hakkında daha fazla bilgi için parantezler dokümanına bakın.

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

Kodu birleştirin

İç bloğunuzun kod dizesini aldıktan sonra kod dizenizle doğru yerde birleştirebilirsiniz.

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

Dönüş kodu

Farklı blok türleri, kod dizesinin farklı şekillerde döndürülmesini gerektirir. Daha fazla bilgi için bu blokların sayfalarına bakın: