필드

필드는 코드 생성에서 중요한 부분입니다. 문자열, 숫자, 색상 등 사용자가 수정할 수 있는 값

생성된 코드에 필드 값을 포함하면 필드 값을 가져오게 됩니다. 이를 사용 가능한 문자열로 변환한 다음 이 문자열을 있습니다.

import {javascriptGenerator} from 'blockly/javascript';

javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) {
  // Get the field value.
  const fieldValue = block.getFieldValue('MY_FIELD');

  // Concatenate the code.
  const code = `some code ${fieldValue} some more code`;

  // Return the code.
  return code;
}

값 가져오기

필드 값은 getFieldValue를 사용하여 액세스할 수 있습니다. 제공되는 항목 반환된 값은 필드마다 다르기 때문에 내장된 field 문서를 참고하세요. 대상 예를 들어 텍스트 입력란은 사용자가 입력한 정확한 텍스트를 반환하지만 필드는 사용자의 항목과 연결된 언어 중립적인 문자열을 반환합니다. 선택합니다.

값 변환

대부분의 필드 값은 코드 문자열에 즉시 연결할 수 있습니다. 그러나 일부 필드 값을 사용하려면 추가 작업이 필요합니다.

문자열

문자열을 연결하려면 먼저 코드 생성기에서 따옴표로 묶어야 합니다.

// For a single line text field.
const str = generator.quote_(block.getFieldValue('STR'));

// For a multiline text field.
const str = generator.multiline_quote_(block.getFieldValue('STR'));

변수

변수 이름은 코드 생성기에서 스크러빙해야만 연결됩니다. 이는 다음 두 가지 이유로 필요합니다.

  1. 변수는 사용자가 선택한 언어로 입력합니다. 즉, ASCII 문자로 변환해야 할 수도 있습니다. 예: 'متغير' 할 것이다 '_D9_85_D8_AA_D8_BA_D9_8A_D8_B1'로 변환됩니다.
  2. 변수가 예약어와 충돌할 수 있습니다. 즉, 충돌하지 않도록 수정해야 합니다 예: 'for' 는 'for2'.
const identifier = generator.getVariableName(block.getFieldValue('VAR'));

코드 연결

필드의 값을 가져와 문자열로 변환한 다음 코드 문자열로 올바른 위치에 연결합니다.

const code = `some code ${value} some more code`;

반환 코드

블록 유형에 따라 코드 문자열이 다른 블록 유형으로 반환되어야 합니다. 자세한 내용은 각 사이트의 개별 페이지를 확인하세요.