대부분의 필드 값은 즉시 코드 문자열에 연결할 수 있습니다. 하지만 일부 필드 값은 사용할 수 있기 전에 추가 작업이 필요합니다.
문자열
문자열을 연결하려면 먼저 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_
를 추가합니다. - 예약된 단어 또는 다른 변수 또는 함수 이름과의 충돌을 해결합니다.
예를 들어
for
을for2
로 변환합니다.
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'
를 반환합니다.
체크박스의 의미에 따라 사용 방법이 달라집니다. 예를 들어 코드를 생성하는 동안 브랜치하는 데 사용할 수 있습니다.