필드 값 변환

대부분의 필드 값은 즉시 코드 문자열에 연결할 수 있습니다. 하지만 일부 필드 값은 사용할 수 있기 전에 추가 작업이 필요합니다.

문자열

문자열을 연결하려면 먼저 quote_ 또는 multiline_quote_로 따옴표로 묶어야 합니다. 이러한 함수는 JavaScript에서 '\'로 바꾸는 것과 같이 언어별 문자 이스케이프를 실행합니다.

// 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'));

변수

내장 변수 필드의 경우 getFieldValue는 변수 이름이 아닌 변수 ID를 반환합니다. 실제 변수 이름을 가져오려면 코드 생성기에서 getVariableName를 호출합니다. 이렇게 하면 고유하고 유효한 이름이 반환됩니다. getVariableName는 다음과 같은 작업을 실행합니다.

  • 비ASCII 문자를 ASCII로 변환합니다. 이는 사용자가 자신의 언어로 변수 이름을 입력할 수 있기 때문에 필요합니다. 예를 들어 'متغير'를 '_D9_85_D8_AA_D8_BA_D9_8A_D8_B1'로 변환합니다.
  • 변수 이름이 프로그래밍 언어에 명시된 규칙을 따르는지 확인합니다. 예를 들어 공백을 밑줄로 변환하고 숫자로 시작하는 변수 이름에 접두사 my_를 추가합니다.
  • 예약된 단어 또는 다른 변수 또는 함수 이름과의 충돌을 해결합니다. 예를 들어 forfor2로 변환합니다.
const identifier = generator.getVariableName(block.getFieldValue('VAR'));

내장 드롭다운 필드의 경우 getFieldValue은 코드에서 직접 사용할 수 없는 언어 중립적인 문자열을 반환합니다. 예를 들어 비교 연산자가 포함된 드롭다운은 'EQUALS', 'LESS' 또는 'GREATER'을 반환할 수 있습니다. 이를 사용하여 코드에서 사용되는 문자열을 조회할 수 있습니다.

const OPERATORS = {
  EQUALS: '==',
  LESS: '<',
  GREATER: '>',
};
const operator = OPERATORS[block.getFieldValue('OPERATOR')];

체크박스

내장 체크박스 필드의 경우 getFieldValue'TRUE' 또는 'FALSE'를 반환합니다. 체크박스의 의미에 따라 사용 방법이 달라집니다. 예를 들어 코드를 생성하는 동안 브랜치하는 데 사용할 수 있습니다.