بلوک های ارزش بلوک هایی با اتصالات خروجی هستند. اینها مانند مقادیر (معروف به عبارات) در یک زبان مبتنی بر متن عمل می کنند.
درست مانند همه بلوکها در Blockly، بلوکهای ارزش را میتوان با تعریف یک تولیدکننده کد بلوک به رشتههای کد تبدیل کرد.
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];
}
رشته های آرگومان را جمع آوری کنید
همه مولدهای بلوک کد نیاز به جمع آوری مقادیر فیلدها و جمع آوری کد بلوک های داخلی دارند .
// Collect field values.
const fieldValue = block.getFieldValue('MY_FIELD');
// Collect inner block code strings.
const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
اگر چندین بار به کد یک بلوک داخلی ارجاع می دهید، باید کش آرگومان را به بلوک خود اضافه کنید.
کد برگشت
نوع برگشتی مولد کد بلوک مقدار آرایه ای است که در آن مقدار اول یک رشته کد و مقدار دوم یک اولویت است.
return ['my code string', Order.NONE];
وقتی پرانتزها در اطراف رشته های کد بلوک اضافه می شوند، اولویت کنترل می کند. برای اطلاعات بیشتر در مورد نحوه کنترل اضافه شدن پرانتز به مستندات پرانتز مراجعه کنید.