대부분의 필드 값은 즉시 코드 문자열에 연결할 수 있습니다.
하지만 일부 필드 값은 사용할 수 있기 전에 추가 작업이 필요합니다.
문자열
문자열을 연결하려면 먼저 quote_ 또는 multiline_quote_로 따옴표로 묶어야 합니다. 이러한 함수는 JavaScript에서 '을 \'로 바꾸는 것과 같이 언어별 문자 이스케이프를 실행합니다.
// For a single line text field.conststr=generator.quote_(block.getFieldValue('STR'));// For a multiline text field.conststr=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로 변환합니다.
내장 드롭다운 필드의 경우 getFieldValue은 코드에서 직접 사용할 수 없는 언어 중립적인 문자열을 반환합니다. 예를 들어 비교 연산자가 포함된 드롭다운은 'EQUALS', 'LESS' 또는 'GREATER'을 반환할 수 있습니다. 이를 사용하여 코드에서 사용되는 문자열을 조회할 수 있습니다.
[null,null,["최종 업데이트: 2025-07-25(UTC)"],[[["\u003cp\u003eFields in Blockly define user-editable values (strings, numbers, colors, etc.) for code generation.\u003c/p\u003e\n"],["\u003cp\u003eAccess field values using \u003ccode\u003egetFieldValue\u003c/code\u003e, transform them into usable strings (e.g., quoting strings, scrubbing variable names), and concatenate them into the code.\u003c/p\u003e\n"],["\u003cp\u003eUse \u003ccode\u003equote_\u003c/code\u003e or \u003ccode\u003emultiline_quote_\u003c/code\u003e to properly format string values for code generation.\u003c/p\u003e\n"],["\u003cp\u003eUse \u003ccode\u003egetVariableName\u003c/code\u003e to ensure variable names are valid and avoid conflicts in the generated code.\u003c/p\u003e\n"],["\u003cp\u003eRefer to specific block type documentation for details on returning the generated code.\u003c/p\u003e\n"]]],["Code generation with fields involves retrieving user-inputted values, such as strings or numbers, from fields. `getFieldValue` accesses these values, which vary by field type. Strings need quoting via `quote_` or `multiline_quote_`, while variables require scrubbing with `getVariableName` to ensure they are ASCII and don't clash with reserved words. Finally, the processed field value is inserted into the code string. The completed code string is returned depending on the specific type of block.\n"],null,["# Transform field values\n\nMost field values are ready to be concatenated to your code string immediately.\nHowever, some field values require extra work before they are usable.\n\nStrings\n-------\n\nStrings need to be quoted with either `quote_` or `multiline_quote_` before they\ncan be concatenated. These functions perform language-specific character\nescaping, such as replacing `'` with `\\'` in JavaScript. \n\n // For a single line text field.\n const str = generator.quote_(block.getFieldValue('STR'));\n\n // For a multiline text field.\n const str = generator.multiline_quote_(block.getFieldValue('STR'));\n\n| **Note:** the `quote_` and `multiline_quote_` methods follow an earlier naming convention with underscores, but they are public.\n\nVariables\n---------\n\nFor the built-in variable field, `getFieldValue` returns a variable ID, not a\nvariable name. To get an actual variable name, call `getVariableName` in the\ncode generator. This returns a name that is both unique and legal. Among other\nthings, `getVariableName`:\n\n- Converts the non-ASCII characters to ASCII. This is necessary because users can enter variable names in their own language. For example, it converts \"`متغير`\" to \"`_D9_85_D8_AA_D8_BA_D9_8A_D8_B1`\".\n- Ensures variable names follow the rules set forth by programming languages. For example, it converts spaces to underscores and adds the prefix `my_` to variable names that start with a digit.\n- Resolves conflicts with reserved words or other variable or function names. For example, it converts `for` to `for2`.\n\n const identifier = generator.getVariableName(block.getFieldValue('VAR'));\n\nDropdowns\n---------\n\nFor the built-in dropdown field, `getFieldValue` returns a language-neutral\nstring that might not be directly usable in code. For example, a dropdown\ncontaining comparison operators might return `'EQUALS'`, `'LESS'`, or\n`'GREATER'`. This can be used to look up a string that is used in code. \n\n const OPERATORS = {\n EQUALS: '==',\n LESS: '\u003c',\n GREATER: '\u003e',\n };\n const operator = OPERATORS[block.getFieldValue('OPERATOR')];\n\nCheckboxes\n----------\n\nFor the built-in checkbox field, `getFieldValue` returns `'TRUE'` or `'FALSE'`.\nHow you use this depends on the meaning of the checkbox. For example, you might\nuse it for branching while generating code."]]