फ़ील्ड, कोड जनरेट करने का अहम हिस्सा होते हैं, क्योंकि वे स्ट्रिंग, संख्या, और रंग जैसी ऐसी वैल्यू जिनमें उपयोगकर्ता बदलाव कर सकते हैं.
जनरेट किए गए कोड में फ़ील्ड वैल्यू शामिल करने पर, फ़ील्ड की वैल्यू हासिल की जाती है, इसे एक इस्तेमाल की जा सकने वाली स्ट्रिंग में बदलना और फिर स्ट्रिंग को कोड का बचा हुआ हिस्सा.
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
का इस्तेमाल करके, फ़ील्ड की वैल्यू ऐक्सेस की जा सकती हैं. क्या मिलता है
लौटाए गए कोड हर फ़ील्ड के हिसाब से अलग-अलग होते हैं, इसलिए आपको 'बिल्ट-इन'
फ़ील्ड के दस्तावेज़ में सबमिट करें. इसके लिए
उदाहरण के लिए, टेक्स्ट इनपुट फ़ील्ड वही टेक्स्ट दिखाते हैं जो उपयोगकर्ता ने डाला है. हालांकि, यह ड्रॉपडाउन
फ़ील्ड, उपयोगकर्ता के आइटम से जुड़ी भाषा न्यूट्रल स्ट्रिंग देते हैं
चुना गया.
वैल्यू बदलना
ज़्यादातर फ़ील्ड वैल्यू, आपकी कोड स्ट्रिंग में तुरंत जोड़ने के लिए तैयार होती हैं. हालांकि, कुछ फ़ील्ड वैल्यू का इस्तेमाल करने से पहले उनमें ज़्यादा काम करना पड़ता है.
स्ट्रिंग
स्ट्रिंग जोड़ने से पहले, उन्हें कोड जनरेटर से कोट करना ज़रूरी है.
// 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`;
आइटम लौटाने का कोड
अलग-अलग तरह के ब्लॉक के लिए, कोड स्ट्रिंग को अलग-अलग तरीके है, तो ज़्यादा जानकारी के लिए उनके अलग-अलग पेज देखें: