Ako čítať po sebe idúce vstupy pomocou modulu Node.js Readline Module?

Ako Citat Po Sebe Iduce Vstupy Pomocou Modulu Node Js Readline Module



' readline Modul Node.js je ideálny na použitie v scenároch, kde je potrebné odobrať od koncového používateľa viac ako jeden po sebe idúci vstup. Tento modul zabalí štandardný výstup a vstup, čo pomáha pri čítaní vstupného toku riadok po riadku bez preskočenia akýchkoľvek prijatých údajov. S príchodom „ readline “, proces získavania údajov v reálnom čase je oveľa jednoduchší a rýchlejší.

Tento zápis vysvetľuje postup čítania po sebe idúcich vstupov pomocou modulu nodejs readline.

Ako čítať po sebe idúce vstupy pomocou modulu Node.js Readline Module?

Po sebe idúce vstupy sú tie, ktoré zbierajú a ukladajú odpovede na viacero otázok súčasne, sekvenčným spôsobom. Tieto po sebe idúce otázky sú väčšinou kladené pri vstupe do niektorých kurzov alebo v čase overovania. Nižšie je uvedených niekoľko príkladov implementácie čítania po sebe idúcich vstupov pomocou modulu Node.js readline.







Príklad 1: Čítanie po sebe idúcich vstupov pomocou modulu Readline a polí

V tomto príklade sa po sebe idúce vstupy berú a čítajú pomocou „ readline “. Vstupy sú uložené v poli, odkiaľ sú zobrazené na konzole:



konšt readline = vyžadovať ( 'readline' ) ;

konšt readlineInterface = readline. createInterface ( {

vstup : proces. stdin ,

výkon : proces. stdout

} )

konšt req0 = 'Smieť! Poznám tvoju prezývku?' ;

konšt požiadavka 1 = 'Aké máš záľuby' ;

konšt požiadavka2 = 'Čo rád počúvaš' ;

konšt požiadavka 3 = 'Smieť! Poznám tvoje obľúbené jedlo?“ ;

konšt požiadavka4 = 'Kde bývaš?' ;

konšt požiadavka5 = 'Aká je tvoja obľúbená farba' ;

konšt požiadavka6 = 'Kto je tvoj najlepší priateľ' ;

konšt reqArr = [ požiadavka 0, požiadavka 1, požiadavka 2, požiadavka 3, požiadavka 4, požiadavka 5, požiadavka 6 ] ;

nechať res = '' ;

konšt reqData = X => {

ak ( X < reqArr. dĺžka ) {

readlineInterface. otázka ( reqArr [ X ] , ( reqResponse ) => {

res += ' \n ' + reqResponse ;

reqData ( X + 1 ) ;

} ) ;

} inak {

konzoly. log ( „Ďakujem pre zdieľanie so mnou ! $ { res } ` ) ;

readlineInterface. Zavrieť ( ) ;

}

} ;

reqData ( 0 ) ;

Popis kódu použitého vo vyššie uvedenom úryvku kódu je uvedený nižšie:



  • Začnite importovaním súboru „ readline “ a uložte jeho objekt do premennej s názvom “ readline “.
  • Ďalej vytvorte rozhranie s názvom „ readlineInterface ' pre ' readline ” objekt, ktorý obalí štandardný vstupný a výstupný proces pomocou „ createInterface() “. Tiež spája každú požiadavku a odpoveď s jedným vstupným čitateľným a výstupným zapisovateľným prúdom pomocou „ proces ' nehnuteľnosť.
  • Potom vytvorte sedem ' konšt ” zadajte premenné na uloženie niektorých požiadaviek alebo otázok, ktoré je potrebné klásť postupne. Uložte tieto konštanty do jedného poľa s názvom „ reqArr “.
  • Vytvorte novú prázdnu premennú “ res “, definujte funkciu šípky s názvom „ reqData “ a odovzdať jediný parameter „ X “.
  • V rámci tejto funkcie použite „ ak “, ktorý kontroluje, či hodnota poskytnutého parametra je menšia ako dĺžka “ reqArr ' alebo nie.
  • V prípade pravdy, „ otázka() ” metóda sa aplikuje na rozhranie a zobrazuje každú požiadavku z poľa cez výstup postupne. Potom odovzdá ich zodpovedajúce poskytnuté hodnoty ako argument.
  • Tieto argumenty sú uložené v už vytvorenom poli “ res “.
  • Keď sa všetky požiadavky postupne zobrazia na konzole, potom sa nastaví podmienka „ ak “ vyhlásenie je nepravdivé a v „ inak časť, časť „ res ” pole sa zobrazí cez konzolu.
  • Nakoniec sa rozhranie readline tiež uzavrie vyvolaním „ Zavrieť() “. Vyvolajte tiež „ reqData() “ a odovzdať počiatočnú hodnotu “ 0 ” na začatie otázky zhora alebo od prvej dostupnej otázky v poli.

Teraz spustite tento obsahujúci súbor zadaním „ uzol kľúčové slovo za výrazom názov súboru “na termináli:





uzol písať

Výstup ukazuje, že program čítal po sebe idúce vstupy a vrátil ich všetky naraz:

Príklad 2: Čítanie po sebe idúcich vstupov pomocou modulu Readline a rekurzívnej funkcie

V metóde sa používa rekurzívny prístup s „ readline Modul Node.js na čítanie po sebe idúcich vstupov od používateľa vo vstupnom toku:



konšt čítať = vyžadovať ( 'readline' ) ;
konšt readlineInterface = čítať. createInterface ( {
vstup : proces. stdin ,
výkon : proces. stdout
} )
bol reqArr = [ ]
funkcia reqData ( X ) {
ak ( X > 3 )
{
var priemer = 0
pre ( j v reqArr )
{
priemer += číslo ( reqArr [ j ] )
}
konzoly. log ( priemer / 3 ) ;
}
inak
{
readlineInterface. otázka ( 'Zadajte' + X + 'číslo z 3:' ,   funkcia ( reqResponse ) {
reqArr. TAM ( reqResponse )
reqData ( X + 1 )
} )
}
}

reqData ( 1 ) ;

Vysvetlenie vyššie uvedeného kódu je popísané nižšie vo forme odrážok:

  • Najprv importujte súbor „ readline “ v novovytvorenom “ write.js “ a uložte objekt metódy do „ čítať “premenná. Vytvorte rozhranie, ktoré ukladá „ readline ” rozhranie, ktoré je vytvorené cez “ createInterface() “.
  • Teraz vytvorte prázdne pole s názvom „ reqArr “ a definujte „ reqData() “, ktorá tiež akceptuje jeden parameter s názvom “ X “.
  • Funkcia najprv skontroluje, či je zadaná hodnota väčšia ako „ 3 ' alebo nie. V prípade true sa načítané hodnoty, ktoré prichádzajú v „ X 'premenná sa uloží do poľa a pridá sa do jednej premennej s názvom ' priemer “.
  • Potom sa „ priemer 'premenná je delená ' 3 “, aby ste našli priemer, pretože dĺžka maximálneho povoleného čísla je “ 3 “ a výsledok sa zobrazí na konzole.
  • V časti else „ otázka() “metóda je pripojená k rozhraniu” readlineInerface “. Táto metóda zobrazí správu cez konzolu a definuje anonymnú funkciu.
  • Funkcia akceptuje vstupné údaje používateľa a pridá tieto údaje do poľa “ reqArr “. Aktualizuje tiež hodnotu „ X “ a odovzdá aktualizovanú hodnotu do „ reqData() “. Tým sa zabezpečí, že používateľ zadá iba hodnoty menšie ako tri počnúc od „ 0 “. Nakoniec vyvolajte „ reqData() ” na spustenie procesu vykonávania.

Teraz vykonajte toto obsahujúce „ write.js ” súbor zadaním “ uzol kľúčové slovo za výrazom názov súboru “na termináli:

uzol písať

Výstup potvrdzuje, že sa čítajú po sebe idúce vstupy a ich priemer sa zobrazuje na konzole pomocou kombinácie rekurzívneho prístupu a modulu readline:

Táto príručka vysvetľuje postup čítania po sebe idúcich vstupov pomocou modulu čítacej linky Node.js.

Záver

Ak chcete čítať po sebe idúce vstupy pomocou modulu Node.js readline, najprv importujte tento modul do pracovného súboru a vytvorte rozhranie pomocou „ createInterface() “. Toto rozhranie vyvoláva „ otázka() “. Posiela požiadavky používateľovi postupne a odovzdá zodpovedajúce odpovede na každú požiadavku funkcii spätného volania, aby vykonala niektoré operácie podľa požiadaviek. Naučili ste sa proces čítania po sebe idúcich vstupov pomocou modulu readline.