값 블록은 출력 연결이 있는 블록입니다. 이들은 값 (즉, 표현식)을 사용할 수 있습니다.
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];
우선순위는 블록 코드 문자열 주위에 괄호를 추가할 시점을 제어합니다. 다음에 대한 자세한 내용은 괄호 문서를 참조하세요. 괄호가 추가되는 시점을 제어하는 방법