Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Większość wartości pól można od razu złączać z ciągiem kodu.
Niektóre wartości pól wymagają jednak dodatkowej pracy, zanim będą mogły być używane.
Strings
Zanim można je złączać, ciągi tekstowe muszą być ujęte w cudzysłowie (quote_ lub multiline_quote_). Te funkcje wykonują kodowanie znaków w zależności od języka, np. zastępują ' wartością \' w 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'));
Zmienne
W przypadku pola wbudowanej zmiennej getFieldValue zwraca identyfikator zmiennej, a nie jej nazwę. Aby uzyskać rzeczywistą nazwę zmiennej, wywołaj funkcję getVariableName w generatorze kodu. Zwraca nazwę, która jest zarówno unikalna, jak i zgodna z zasadami. getVariableName:
Konwertuje znaki inne niż ASCII na znaki ASCII. Jest to konieczne, ponieważ użytkownicy mogą wpisywać nazwy zmiennych w swoim języku. Na przykład konwertuje „متغير” na „_D9_85_D8_AA_D8_BA_D9_8A_D8_B1”.
Sprawdzanie, czy nazwy zmiennych są zgodne z zasadami określonymi przez języki programowania.
Na przykład zamienia spacje na znaki podkreślenia i dodaje prefiks my_ do nazw zmiennych, które zaczynają się od cyfry.
Rozwiązuje konflikty z zarezerwowanymi słowami lub innymi nazwami zmiennych i funkcji.
Na przykład for jest zamieniane na for2.
W przypadku wbudowanego pola menu getFieldValue zwraca neutralny językowo ciąg znaków, który może nie nadawać się do bezpośredniego użycia w kodzie. Na przykład menu zawierające operatory porównania może zwracać 'EQUALS', 'LESS' lub 'GREATER'. Można go użyć do wyszukiwania ciągu tekstowego używanego w kodzie.
W przypadku wbudowanego pola wyboru getFieldValue zwraca wartość 'TRUE' lub 'FALSE'.
Sposób użycia tego pola zależy od jego znaczenia. Możesz go na przykład użyć do tworzenia gałęzi podczas generowania kodu.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-04-14 UTC."],[[["Fields in Blockly define user-editable values (strings, numbers, colors, etc.) for code generation."],["Access field values using `getFieldValue`, transform them into usable strings (e.g., quoting strings, scrubbing variable names), and concatenate them into the code."],["Use `quote_` or `multiline_quote_` to properly format string values for code generation."],["Use `getVariableName` to ensure variable names are valid and avoid conflicts in the generated code."],["Refer to specific block type documentation for details on returning the generated code."]]],["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"]]