Node.js रीडलाइन मॉड्यूल के साथ लगातार इनपुट कैसे पढ़ें?

Node Js Ridala Ina Modyula Ke Satha Lagatara Inaputa Kaise Parhem



पढ़ने के लिए लाइन नोड.जेएस मॉड्यूल उन परिदृश्यों में उपयोग करने के लिए आदर्श है जहां अंतिम उपयोगकर्ता से एक से अधिक लगातार इनपुट लेने की आवश्यकता होती है। यह मॉड्यूल मानक आउटपुट और इनपुट को लपेटता है जो किसी भी प्राप्त डेटा को छोड़े बिना इनपुट स्ट्रीम को लाइन दर लाइन पढ़ने में मदद करता है। के आगमन के साथ पढ़ने के लिए लाइन मॉड्यूल, वास्तविक समय में डेटा पुनर्प्राप्त करने की प्रक्रिया बहुत आसान और तेज़ हो जाती है।

यह लेख नोडज रीडलाइन मॉड्यूल के साथ लगातार इनपुट को पढ़ने की प्रक्रिया की व्याख्या करता है।

Node.js रीडलाइन मॉड्यूल के साथ लगातार इनपुट कैसे पढ़ें?

लगातार इनपुट वे होते हैं जो एक ही समय में कई प्रश्नों के उत्तर क्रमबद्ध तरीके से लेते हैं और संग्रहीत करते हैं। ये लगातार प्रश्न अधिकतर कुछ पाठ्यक्रमों में शामिल होने के दौरान या सत्यापन के समय पूछे जाते हैं। Node.js रीडलाइन मॉड्यूल का उपयोग करके लगातार इनपुट पढ़ने के कार्यान्वयन के लिए कुछ उदाहरण नीचे दिए गए हैं।







उदाहरण 1: रीडलाइन मॉड्यूल और एरेज़ का उपयोग करके लगातार इनपुट पढ़ना

इस उदाहरण में, लगातार इनपुट 'का उपयोग करके लिया और पढ़ा जाता है' पढ़ने के लिए लाइन ' मापांक। इनपुट को उस सरणी में संग्रहीत किया जाता है जहां से वे कंसोल पर प्रदर्शित होते हैं:



कॉन्स्ट पढ़ने के लिए लाइन = ज़रूरत होना ( 'पढ़ने के लिए लाइन' ) ;

कॉन्स्ट रीडलाइन इंटरफ़ेस = पढ़ने के लिए लाइन। इंटरफ़ेस बनाएं ( {

इनपुट : प्रक्रिया। stdin ,

आउटपुट : प्रक्रिया। stdout

} )

कॉन्स्ट req0 = 'मई! मैं आपका उपनाम जानता हूं?' ;

कॉन्स्ट अनुरोध1 = 'आपका शौक क्या है' ;

कॉन्स्ट अनुरोध2 = 'आपको क्या सुनना पसंद है' ;

कॉन्स्ट अनुरोध3 = 'मई! मैं आपकी पसंदीदा डिश जानता हूं?' ;

कॉन्स्ट अनुरोध4 = 'आप कहाँ रहते हैं?' ;

कॉन्स्ट अनुरोध5 = 'आपका पसंदीदा रंग कौनसा है' ;

कॉन्स्ट अनुरोध6 = 'आपका सबसे अच्छा दोस्त कौन है' ;

कॉन्स्ट reqArr = [ req0, req1, req2, req3, req4, req5, req6 ] ;

लेट रेस = '' ;

कॉन्स्ट reqData = एक्स => {

अगर ( एक्स < reqArr. लंबाई ) {

रीडलाइन इंटरफ़ेस। सवाल ( reqArr [ एक्स ] , ( reqResponse ) => {

आर ई += ' \एन ' + reqResponse ;

reqData ( एक्स + 1 ) ;

} ) ;

} अन्य {

सांत्वना देना। लकड़ी का लट्ठा ( `धन्यवाद के लिए मेरे साथ साझा करना ! $ { आर ई } ` ) ;

रीडलाइन इंटरफ़ेस। बंद करना ( ) ;

}

} ;

reqData ( 0 ) ;

उपरोक्त कोड स्निपेट में प्रयुक्त कोड का विवरण नीचे दिया गया है:



  • 'आयात करके प्रारंभ करें पढ़ने के लिए लाइन ' मॉड्यूल और इसके ऑब्जेक्ट को ' नामक वेरिएबल में संग्रहीत करें पढ़ने के लिए लाइन ”।
  • इसके बाद, 'नाम का एक इंटरफ़ेस बनाएं रीडलाइन इंटरफ़ेस ' के लिए ' पढ़ने के लिए लाइन 'ऑब्जेक्ट जो मानक इनपुट और आउटपुट प्रक्रिया को' का उपयोग करके लपेटता है इंटरफ़ेस बनाएं() ' तरीका। यह प्रत्येक अनुरोध और प्रतिक्रिया को 'का उपयोग करके एकल इनपुट पठनीय और आउटपुट लिखने योग्य स्ट्रीम के साथ जोड़ता है।' प्रक्रिया ' संपत्ति।
  • फिर, सात बनाएँ' कॉन्स्ट कुछ अनुरोधों या प्रश्नों को संग्रहीत करने के लिए वेरिएबल टाइप करें जिन्हें लगातार पूछे जाने की आवश्यकता है। इन स्थिरांकों को 'नाम वाली एकल सरणी में संग्रहीत करें reqArr ”।
  • एक नया खाली वैरिएबल बनाएं ” आर ई ', ' नामक एक तीर फ़ंक्शन को परिभाषित करें reqData ' और ' का एकल पैरामीटर पास करें एक्स ”।
  • इस फ़ंक्शन के अंदर, 'का उपयोग करें अगर 'कथन जो जाँचता है कि दिए गए पैरामीटर का मान' की लंबाई से कम है या नहीं reqArr ' या नहीं।
  • सच के मामले में, ' सवाल() 'विधि इंटरफ़ेस पर लागू होती है और यह सरणी से प्रत्येक अनुरोध को आउटपुट पर क्रमिक रूप से प्रदर्शित करती है। फिर यह उनके संबंधित प्रदत्त मानों को एक तर्क के रूप में पारित करता है।
  • ये तर्क पहले से निर्मित सरणी में संग्रहीत हैं ” आर ई ”।
  • एक बार जब सभी अनुरोध कंसोल पर क्रमिक रूप से प्रदर्शित हो जाते हैं तो 'की स्थिति' अगर ' कथन गलत हो जाता है और ' अन्य ' भाग, ' आर ई 'सरणी कंसोल पर प्रदर्शित होती है।
  • अंत में, रीडलाइन इंटरफ़ेस भी '' का आह्वान करके बंद हो जाता है बंद करना() ' तरीका। इसके अलावा, ' का आह्वान करें reqData() 'फ़ंक्शन करें और' का प्रारंभिक मान पास करें 0 'प्रश्न को ऊपर से या सारणी में उपलब्ध पहले प्रश्न से शुरू करने के लिए।

अब, ' दर्ज करके इस युक्त फ़ाइल को निष्पादित करें नोड 'के पीछे कीवर्ड' फ़ाइल का नाम 'टर्मिनल पर:





नोड लिखें

आउटपुट से पता चलता है कि प्रोग्राम ने लगातार इनपुट को पढ़ा है और उन सभी को एक ही बार में वापस कर दिया है:

उदाहरण 2: रीडलाइन मॉड्यूल और रिकर्सिव फ़ंक्शन का उपयोग करके लगातार इनपुट पढ़ना

विधि में, पुनरावर्ती दृष्टिकोण का उपयोग 'के साथ किया जाता है' पढ़ने के लिए लाइन इनपुट स्ट्रीम पर उपयोगकर्ता से लगातार इनपुट पढ़ने के लिए Node.js मॉड्यूल:



कॉन्स्ट पढ़ना = ज़रूरत होना ( 'पढ़ने के लिए लाइन' ) ;
कॉन्स्ट रीडलाइन इंटरफ़ेस = पढ़ना। इंटरफ़ेस बनाएं ( {
इनपुट : प्रक्रिया। stdin ,
आउटपुट : प्रक्रिया। stdout
} )
reqArr था = [ ]
फ़ंक्शन reqData ( एक्स ) {
अगर ( एक्स > 3 )
{
वर औसत = 0
के लिए ( j reqArr में )
{
औसत += संख्या ( reqArr [ जे ] )
}
सांत्वना देना। लकड़ी का लट्ठा ( औसत / 3 ) ;
}
अन्य
{
रीडलाइन इंटरफ़ेस। सवाल ( 'उसे दर्ज करें ' + एक्स + '3 में से संख्या:' , समारोह ( reqResponse ) {
reqArr. धकेलना ( reqResponse )
reqData ( एक्स + 1 )
} )
}
}

reqData ( 1 ) ;

उपरोक्त कोड का स्पष्टीकरण बुलेट बिंदुओं के रूप में नीचे वर्णित है:

  • सबसे पहले, 'आयात करें' पढ़ने के लिए लाइन 'नव निर्मित में' लिखें.जे.एस 'विधि ऑब्जेक्ट को फ़ाइल करें और संग्रहीत करें' पढ़ना ' चर। एक इंटरफ़ेस बनाएं जो ' को संग्रहीत करता है पढ़ने के लिए लाइन 'इंटरफ़ेस जो' के माध्यम से बनाया गया है इंटरफ़ेस बनाएं() ' तरीका।
  • अब, 'नाम से एक खाली सरणी बनाएं reqArr ' और परिभाषित करें ' reqData() 'फ़ंक्शन जो' नामक एकल पैरामीटर को भी स्वीकार करता है एक्स ”।
  • फ़ंक्शन पहले जाँचता है कि क्या प्रदान किया गया मान 'से अधिक है' 3 ' या नहीं। सत्य के मामले में, पुनर्प्राप्त मान जो 'में आ रहे हैं एक्स 'वेरिएबल एक सरणी में संग्रहीत हो जाता है और' नामक एकल वेरिएबल में जोड़ा जाता है औसत ”।
  • उसके बाद, ' औसत 'वेरिएबल को' से विभाजित किया गया है 3 अधिकतम अनुमत संख्या की लंबाई के रूप में औसत ज्ञात करने के लिए ' 3 ” और परिणाम कंसोल पर प्रदर्शित होता है।
  • दूसरे भाग में, ' सवाल() 'विधि इंटरफ़ेस के साथ जुड़ी हुई है' readlineInerface ”। यह विधि कंसोल पर संदेश प्रदर्शित करती है और एक अनाम फ़ंक्शन को परिभाषित करती है।
  • फ़ंक्शन उपयोगकर्ता इनपुट डेटा को स्वीकार करता है और उस डेटा को सरणी में जोड़ता है ' reqArr ”। यह ' का मान भी अद्यतन करता है एक्स 'हर बार और अद्यतन मान को' पास करता है reqData() ' समारोह। इससे यह सुनिश्चित हो जाएगा कि उपयोगकर्ता केवल 'से प्रारंभ करके तीन से कम मान ही इनपुट करेगा' 0 ”। अंत में, 'आह्वान करें reqData() 'निष्पादन प्रक्रिया शुरू करने के लिए फ़ंक्शन।

अब, इसे निष्पादित करें जिसमें ' लिखें.जे.एस 'फ़ाइल' दर्ज करके नोड 'के पीछे कीवर्ड' फ़ाइल का नाम 'टर्मिनल पर:

नोड लिखें

आउटपुट पुष्टि करता है कि लगातार इनपुट पढ़े जाते हैं और उनका औसत पुनरावर्ती दृष्टिकोण और रीडलाइन मॉड्यूल के संयोजन का उपयोग करके कंसोल पर प्रदर्शित होता है:

यह मार्गदर्शिका Node.js रीडलाइन मॉड्यूल के साथ लगातार इनपुट पढ़ने की प्रक्रिया बताती है।

निष्कर्ष

Node.js रीडलाइन मॉड्यूल के साथ लगातार इनपुट पढ़ने के लिए, पहले इस मॉड्यूल को एक कार्यशील फ़ाइल में आयात करें और 'का उपयोग करके एक इंटरफ़ेस बनाएं' इंटरफ़ेस बनाएं() ' तरीका। यह इंटरफ़ेस 'आह्वान करता है सवाल() ' तरीका। यह उपयोगकर्ता को लगातार अनुरोध भेजता है और आवश्यकताओं के अनुसार कुछ संचालन लागू करने के लिए प्रत्येक अनुरोध की संबंधित प्रतिक्रियाओं को कॉलबैक फ़ंक्शन पर भेजता है। आपने रीडलाइन मॉड्यूल का उपयोग करके लगातार इनपुट पढ़ने की प्रक्रिया सीखी है।