내부 블록은 값 및 문 입력에 연결된 블록입니다. 개별 블록 코드 생성기는 내부 블록의 연결을 처리하여 코드가 올바른 위치에 추가되도록 해야 합니다.
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;
}
문 입력
문 입력에 연결된 내부 블록 코드는 statementToCode
를 사용하여 생성할 수 있습니다. 그러면 문 블록의 블록 코드 생성기가 호출되고 들여쓰기 코드가 처리됩니다.
const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');
문 입력에 직접 연결된 내부 블록에 statementToCode
만 호출하면 됩니다.
값 입력
값 입력에 연결된 내부 블록의 코드는 valueTocode
를 사용하여 생성할 수 있습니다. 이는 값 블록의 블록 코드 코드 생성기를 호출하고 필요한 경우 내부 블록의 코드 주위에 괄호를 추가하는 작업을 처리합니다.
괄호를 제어하는 방법에 대한 자세한 내용은 괄호 문서를 참고하세요.
const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
코드 연결
내부 블록의 코드 문자열을 가져온 후 코드 문자열을 사용하여 올바른 위치에 연결할 수 있습니다.
const code = `some code ${statement} ${value} some more code`;
반품 코드
블록 유형에 따라 코드 문자열이 다른 방식으로 반환되어야 하므로 개별 페이지에서 자세한 내용을 확인하세요.