इनलाइन बनाम एक्सटर्नल इनपुट

इनपुट को इनलाइन या बाहरी तौर पर रेंडर किया जा सकता है. इससे यह कंट्रोल होता है कि वैल्यू इनपुट के लिए कनेक्टर, ब्लॉक के अंदर (इनलाइन) या बाहरी किनारे (एक्सटर्नल) पर रेंडर किए जाएं या नहीं. साथ ही, यह भी कंट्रोल होता है कि इनपुट एक ही या अलग-अलग पंक्तियों में रेंडर किए जाएं या नहीं.

"value से value तक x के साथ count do statement" ब्लॉक के इनलाइन और बाहरी वैरिएशन. इनलाइन वैरिएशन में, ब्लॉक में दो लाइनें होती हैं: सबसे ऊपर वाली लाइन में "value से value तक x के साथ काउंट" होता है और सबसे नीचे वाली लाइन में "do स्टेटमेंट" होता है.
वैल्यू इनपुट, ऊपरी पंक्ति के अंदर से काटे गए पहेली के टुकड़ों जैसे दिखते हैं.
बाहरी वैरिएशन में, ब्लॉक में चार लाइनें होती हैं: "x के साथ गिनती", "से वैल्यू", "वैल्यू", और "स्टेटमेंट करें". वैल्यू इनपुट, दूसरी और तीसरी पंक्ति के आखिर में होते हैं और ये फ़ीमेल पज़ल कनेक्टर जैसे दिखते हैं.

ब्लॉक की परिभाषा में, वैकल्पिक बूलियन दिया जा सकता है. इससे यह कंट्रोल किया जा सकता है कि इनपुट इनलाइन हैं या नहीं.

JSON

{
  // ...,
  "inputsInline": true
}

JavaScript

init: function() {
  // ...
  this.setInputsInline(true);
}

जब यह बूलियन true (इनलाइन इनपुट) पर सेट होता है, तो:

  • वैल्यू इनपुट के लिए कनेक्टर, ब्लॉक के अंदर रेंडर किए जाते हैं.
  • स्टेटमेंट के इनपुट, अपनी लाइन में रेंडर किए जाते हैं.
  • डमी, लाइन के आखिर में मौजूद, और वैल्यू इनपुट, सभी एक ही लाइन में रेंडर किए जाते हैं. हालांकि, स्टेटमेंट के बाद मौजूद कोई भी इनपुट या लाइन के आखिर में मौजूद इनपुट, नई लाइन में रेंडर किया जाता है.

false (बाहरी इनपुट) पर सेट होने पर:

  • वैल्यू इनपुट के लिए कनेक्टर, ब्लॉक के बाहरी किनारे पर रेंडर किए जाते हैं.
  • सभी इनपुट अपनी लाइन में रेंडर किए जाते हैं. हालांकि, डमी इनपुट के बाद मौजूद लाइन के आखिर में मौजूद इनपुट, डमी इनपुट की लाइन में रेंडर किया जाता है.

अगर आपको इसे विज़ुअलाइज़ करने में समस्या आ रही है, तो Blockly डेवलपर टूल में ब्लॉक बनाएं और inputs ड्रॉपडाउन (automatic, external, inline) के लिए अलग-अलग सेटिंग चुनें.

अगर इस बूलियन की जानकारी नहीं दी गई है, तो Blockly कुछ अनुमान लगाने के लिए, कुछ हेयुरिस्टिक्स का इस्तेमाल करेगा कि कौनसा मोड सबसे अच्छा है. यह मानते हुए कि Blockly सही विकल्प चुनता है, इस फ़ील्ड को बिना तय किए छोड़ना बेहतर होता है. ऐसा इसलिए, क्योंकि अलग-अलग भाषाओं के अनुवाद अपने-आप अलग-अलग मोड में हो सकते हैं. इंटरपोलेशन टोकन के क्रम में, "set %1 to %2" (बाहरी इनपुट) और "put %2 in %1" (इनलाइन इनपुट) का उदाहरण देखें.

जब किसी ब्लॉक में संख्याएं जैसे छोटे इनपुट होने की संभावना हो, तो इनलाइन इनपुट का इस्तेमाल करें. उपयोगकर्ता, संदर्भ मेन्यू की मदद से इस विकल्प को टॉगल कर सकता है.