내부 블록

내부 블록은 값 및 문 입력에 연결된 블록입니다. 개별 블록 코드 생성기는 내부 블록의 연결을 처리하여 코드가 올바른 위치에 추가되도록 해야 합니다.

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

반품 코드

블록 유형에 따라 코드 문자열이 다른 방식으로 반환되어야 하므로 개별 페이지에서 자세한 내용을 확인하세요.