필드는 코드 생성에서 중요한 부분입니다. 문자열, 숫자, 색상 등 사용자가 수정할 수 있는 값
생성된 코드에 필드 값을 포함하면 필드 값을 가져오게 됩니다. 이를 사용 가능한 문자열로 변환한 다음 이 문자열을 있습니다.
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'));
변수
변수 이름은 코드 생성기에서 스크러빙해야만 연결됩니다. 이는 다음 두 가지 이유로 필요합니다.
- 변수는 사용자가 선택한 언어로 입력합니다. 즉,
ASCII 문자로 변환해야 할 수도 있습니다. 예: '
متغير
' 할 것이다 '_D9_85_D8_AA_D8_BA_D9_8A_D8_B1
'로 변환됩니다. - 변수가 예약어와 충돌할 수 있습니다. 즉,
충돌하지 않도록 수정해야 합니다 예: '
for
' 는 'for2
'.
const identifier = generator.getVariableName(block.getFieldValue('VAR'));
코드 연결
필드의 값을 가져와 문자열로 변환한 다음 코드 문자열로 올바른 위치에 연결합니다.
const code = `some code ${value} some more code`;
반환 코드
블록 유형에 따라 코드 문자열이 다른 블록 유형으로 반환되어야 합니다. 자세한 내용은 각 사이트의 개별 페이지를 확인하세요.