Değerler

Değer blokları, çıkış bağlantıları olan bloklardır. Bunlar, metin tabanlı bir dilde değerler (ifadeler) gibi hareket eder.

Blockly'deki tüm bloklar gibi, değer blokları da bir blok kodu oluşturucu tanımlanarak kod dizelerine dönüştürülebilir.

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

javascriptGenerator.forBlock['custom_block'] = function(block, generator) {
  // Collect argument strings.
  const fieldValue = block.getFieldValue('MY_FIELD');
  const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

  // Return code.
  return ['my code string', Order.NONE];
}

Bağımsız değişken dizelerini topla

Tüm blok kodu oluşturma araçları için alan değerlerinin toplanması ve iç blokların kodunun toplanması gerekir.

// Collect field values.
const fieldValue = block.getFieldValue('MY_FIELD');

// Collect inner block code strings.
const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

Bir iç bloğun koduna birden fazla kez referans veriyorsanız bloğunuza bağımsız değişken önbelleğe alma eklemeniz gerekir.

Dönüş kodu

Değer blok kodu oluşturucunun dönüş türü, ilk değerin kod dizesi, ikinci değerin ise öncelik olduğu bir dizidir.

return ['my code string', Order.NONE];

Blok kodu dizelerinin etrafına parantez eklendiğinde öncelik kontrolü yapılır. Parantez ekleme işlemini nasıl kontrol edeceğiniz hakkında daha fazla bilgi için parantezler dokümanlarına bakın.