Jak číst po sobě jdoucí vstupy pomocí modulu Node.js Readline Module?

Jak Cist Po Sobe Jdouci Vstupy Pomoci Modulu Node Js Readline Module



' readline Modul Node.js je ideální pro použití ve scénářích, kdy je od koncového uživatele potřeba převzít více než jeden po sobě jdoucí vstup. Tento modul obaluje standardní výstup a vstup, což pomáhá při čtení vstupního proudu řádek po řádku bez přeskakování přijatých dat. S příchodem „ readline ” se proces získávání dat v reálném čase stává mnohem jednodušším a rychlejším.

Tento zápis vysvětluje postup čtení po sobě jdoucích vstupů pomocí modulu readline nodejs.

Jak číst po sobě jdoucí vstupy pomocí modulu Node.js Readline Module?

Po sobě jdoucí vstupy jsou ty, které postupně přebírají a ukládají odpovědi na více otázek současně. Tyto po sobě jdoucí dotazy jsou většinou kladeny při vstupu do některých kurzů nebo v době ověřování. Níže je uvedeno několik příkladů implementace čtení po sobě jdoucích vstupů pomocí modulu Node.js readline.







Příklad 1: Čtení po sobě jdoucích vstupů pomocí modulu Readline a polí

V tomto příkladu jsou po sobě jdoucí vstupy přijímány a čteny pomocí „ readline “modul. Vstupy jsou uloženy v poli, odkud jsou zobrazeny na konzole:



konst readline = vyžadovat ( 'readline' ) ;

konst readlineInterface = readline. createInterface ( {

vstup : proces. stdin ,

výstup : proces. stdout

} )

konst req0 = 'Smět! Znám vaši přezdívku?“ ;

konst požadavek1 = 'Jaké máš koníčky' ;

konst req2 = 'Co rád posloucháš' ;

konst požadavek3 = 'Smět! Znám tvé oblíbené jídlo?“ ;

konst požadavek4 = 'Kde bydlíš?' ;

konst požadavek5 = 'Jaká je tvá oblíbená barva' ;

konst požadavek6 = 'Kdo je tvůj nejlepší přítel' ;

konst reqArr = [ požadavek 0, požadavek 1, požadavek 2, požadavek 3, požadavek 4, požadavek 5, požadavek 6 ] ;

nechat res = '' ;

konst reqData = X => {

-li ( X < reqArr. délka ) {

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

res += ' \n ' + reqResponse ;

reqData ( X + 1 ) ;

} ) ;

} jiný {

řídicí panel. log ( „Díky pro sdílení se mnou ! $ { res } ` ) ;

readlineInterface. zavřít ( ) ;

}

} ;

reqData ( 0 ) ;

Popis kódu použitého ve výše uvedeném fragmentu kódu je uveden níže:



  • Začněte importem souboru „ readline “ a uložte jeho objekt do proměnné s názvem “ readline “.
  • Dále vytvořte rozhraní s názvem „ readlineInterface ' pro ' readline ” objekt, který obaluje standardní vstupní a výstupní proces pomocí „ createInterface() “ metoda. Také spojuje každý požadavek a odpověď s jediným vstupním čitelným a výstupním zapisovatelným proudem pomocí „ proces ' vlastnictví.
  • Poté vytvořte sedm „ konst ” zadejte proměnné pro uložení některých požadavků nebo otázek, které je třeba položit postupně. Uložte tyto konstanty do jediného pole s názvem „ reqArr “.
  • Vytvořte novou prázdnou proměnnou “ res “, definovat funkci šipky s názvem „ reqData “ a předat jediný parametr „ X “.
  • Uvnitř této funkce použijte „ -li “, který kontroluje, zda je hodnota poskytnutého parametru menší než délka “ reqArr ' nebo ne.
  • V případě pravdy, „ otázka() ” metoda je aplikována na rozhraní a zobrazuje každý požadavek z pole přes výstup postupně. Poté předá jejich odpovídající poskytnuté hodnoty jako argument.
  • Tyto argumenty jsou uloženy v již vytvořeném poli “ res “.
  • Jakmile se všechny požadavky postupně zobrazí na konzole, pak podmínka „ -li “ prohlášení je nepravdivé a v “ jiný “část, “ res pole se zobrazí přes konzolu.
  • Nakonec se rozhraní readline také zavře vyvoláním příkazu „ zavřít() “ metoda. Vyvolejte také „ reqData() 'funkce' a předá počáteční hodnotu ' 0 ” pro zahájení otázky shora nebo od první otázky dostupné v poli.

Nyní spusťte tento obsahující soubor zadáním „ uzel klíčové slovo za výrazem název souboru “ na terminálu:





uzel psát

Výstup ukazuje, že program načetl po sobě jdoucí vstupy a vrátil je všechny najednou:

Příklad 2: Čtení po sobě jdoucích vstupů pomocí modulu Readline a rekurzivní funkce

V metodě se používá rekurzivní přístup s „ readline Modul Node.js pro čtení po sobě jdoucích vstupů od uživatele ve vstupním toku:



konst číst = vyžadovat ( 'readline' ) ;
konst readlineInterface = číst. createInterface ( {
vstup : proces. stdin ,
výstup : proces. stdout
} )
byl reqArr = [ ]
funkce reqData ( X ) {
-li ( X > 3 )
{
var průměr = 0
pro ( j v reqArr )
{
průměrný += Číslo ( reqArr [ j ] )
}
řídicí panel. log ( průměrný / 3 ) ;
}
jiný
{
readlineInterface. otázka ( 'Zadejte' + X + 'číslo ze 3:' ,   funkce ( reqResponse ) {
reqArr. TAM ( reqResponse )
reqData ( X + 1 )
} )
}
}

reqData ( 1 ) ;

Vysvětlení výše uvedeného kódu je popsáno níže ve formě odrážek:

  • Nejprve importujte „ readline “ v nově vytvořeném “ write.js ” a uložte objekt metody do “ číst “proměnná. Vytvořte rozhraní, které ukládá „ readline rozhraní, které je vytvořeno prostřednictvím createInterface() “ metoda.
  • Nyní vytvořte prázdné pole s názvem „ reqArr “ a definujte „ reqData() “, která také přijímá jeden parametr s názvem “ X “.
  • Funkce nejprve zkontroluje, zda je zadaná hodnota větší než „ 3 ' nebo ne. V případě true budou načtené hodnoty, které přicházejí v „ X 'proměnná se uloží do pole a přidá se k jediné proměnné s názvem ' průměrný “.
  • Poté se „ průměrný 'proměnná je dělena' 3 “, abyste našli průměr, protože délka maximálního povoleného čísla je “ 3 “ a výsledek se zobrazí na konzole.
  • V části else „ otázka() “ metoda je připojena k rozhraní “ readlineInerface “. Tato metoda zobrazí zprávu přes konzolu a definuje anonymní funkci.
  • Funkce přijímá uživatelská vstupní data a přidává tato data do pole “ reqArr “. Aktualizuje také hodnotu „ X “ a předá aktualizovanou hodnotu do “ reqData() funkce “. Tím zajistíte, že uživatel zadá pouze hodnoty menší než tři počínaje „ 0 “. Nakonec vyvolejte „ reqData() ” pro zahájení procesu provádění.

Nyní proveďte toto obsahující „ write.js “ soubor zadáním „ uzel klíčové slovo za výrazem název souboru “ na terminálu:

uzel psát

Výstup potvrzuje, že jsou čteny po sobě jdoucí vstupy a jejich průměr je zobrazen na konzole pomocí kombinace rekurzivního přístupu a modulu readline:

Tato příručka vysvětluje postup čtení po sobě jdoucích vstupů pomocí modulu readline Node.js.

Závěr

Chcete-li číst po sobě jdoucí vstupy pomocí modulu Node.js readline, nejprve tento modul importujte do pracovního souboru a vytvořte rozhraní pomocí „ createInterface() “ metoda. Toto rozhraní vyvolá „ otázka() “ metoda. Odesílá požadavky uživateli postupně a předává odpovídající odpovědi na každý požadavek funkci zpětného volání, aby podle požadavků provedla některé operace. Naučili jste se proces čtení po sobě jdoucích vstupů pomocí modulu readline.