Hogyan lehet egymást követő bemeneteket olvasni a Node.js Readline modullal?

Hogyan Lehet Egymast Koveto Bemeneteket Olvasni A Node Js Readline Modullal



A ' readline ” A Node.js modul ideális olyan helyzetekben való használatra, amikor egynél több egymást követő bemenetet kell átvenni a végfelhasználótól. Ez a modul becsomagolja a szabványos kimenetet és bemenetet, amely segít a bemeneti adatfolyam soronkénti kiolvasásában anélkül, hogy bármilyen fogadott adatot kihagyna. Azzal, hogy megérkezett a „ readline ” modul segítségével az adatok valós idejű visszakeresése sokkal könnyebbé és gyorsabbá válik.

Ez az írás elmagyarázza az egymást követő bemenetek beolvasásának eljárását a nodejs readline modullal.

Hogyan lehet egymást követő bemeneteket olvasni a Node.js Readline modullal?

Az egymást követő bemenetek azok, amelyek egyszerre több kérdésre választ kapnak és tárolnak egymás után. Ezeket az egymást követő lekérdezéseket többnyire bizonyos kurzusokhoz való csatlakozáskor vagy az ellenőrzéskor teszik fel. Az alábbiakban néhány példát mutatunk be az egymást követő bemenetek beolvasására a Node.js readline modul használatával.







1. példa: Egymást követő bemenetek olvasása a Readline modul és tömbök használatával

Ebben a példában az egymást követő bemeneteket a „ readline ” modult. A bemenetek abban a tömbben tárolódnak, ahonnan a konzolon megjelennek:



const readline = igényelnek ( 'olvasóvonal' ) ;

const readlineInterface = readline. CreateInterface ( {

bemenet : folyamat. stdin ,

Kimenet : folyamat. stdout

} )

const req0 = 'Lehet! Tudom a becenevét? ;

const req1 = 'Mi a hobbid' ;

const req2 = 'Mit szeretsz hallgatni' ;

const req3 = 'Lehet! Ismerem a kedvenc ételedet? ;

const req4 = 'Hol laksz?' ;

const req5 = 'Mi a kedvenc színed' ;

const req6 = 'Ki a legjobb barátod' ;

const reqArr = [ req0, req1, req2, req3, req4, req5, req6 ] ;

hadd res = '' ;

const reqData = x => {

ha ( x < reqArr. hossz ) {

readlineInterface. kérdés ( reqArr [ x ] , ( reqResponse ) => {

res += ' \n ' + reqResponse ;

reqData ( x + 1 ) ;

} ) ;

} más {

konzol. log ( `Köszönöm számára megosztani velem ! $ { res } ` ) ;

readlineInterface. Bezárás ( ) ;

}

} ;

reqData ( 0 ) ;

A fenti kódrészletben használt kód leírása az alábbiakban található:



  • Kezdje a „ readline ' modult, és tárolja az objektumát egy ' nevű változóban readline ”.
  • Ezután hozzon létre egy '' nevű felületet readlineInterface ' a ' readline ' objektum, amely a szabványos bemeneti és kimeneti folyamatot a ' CreateInterface() ” módszerrel. Ezenkívül minden kérést és választ egyetlen bemeneti olvasható és kimeneti írható adatfolyamhoz társít a „ folyamat ' ingatlan.
  • Ezután hozzon létre hét ' const ” típusú változókat néhány olyan kérés vagy kérdés tárolására, amelyeket egymást követően kell feltenni. Tárolja ezeket a konstansokat egyetlen '' nevű tömbben reqArr ”.
  • Hozzon létre egy új üres változót ' res ”, határozzon meg egy nyílfüggvényt „ reqData ', és adja át a '' egyetlen paraméterét x ”.
  • Ezen a funkción belül használja a „ ha ' utasítás, amely ellenőrzi, hogy a megadott paraméter értéke kisebb-e, mint a ' reqArr ' vagy nem.
  • Igaz esetén a „ kérdés() ” metódus kerül alkalmazásra az interfészre, és a tömb minden kérését szekvenciálisan jeleníti meg a kimeneten. Ezután a megfelelő megadott értékeket adja át argumentumként.
  • Ezek az argumentumok a már létrehozott tömbben tárolódnak ' res ”.
  • Miután az összes kérés egymás után megjelenik a konzolon, akkor a „ ha ' állítás hamis lesz, és a ' más ' rész, a ' res ” tömb jelenik meg a konzolon.
  • Végül a readline felület is bezárul a „ Bezárás() ” módszerrel. Ezenkívül hívja meg a „ reqData() ' függvényt, és adja meg a ' kezdeti értéket' 0 ” hogy a kérdést felülről vagy a tömbben elérhető első kérdéstől kezdjük.

Most futtassa ezt a fájlt a ' csomópont ' kulcsszó a ' mögött fájl név ” a terminálon:





csomópont írása

A kimenet azt mutatja, hogy a program elolvasta az egymást követő bemeneteket, és mindet egyszerre visszaadta:

2. példa: Egymást követő bemenetek olvasása a Readline modul és a rekurzív függvény használatával

A módszerben a rekurzív megközelítést a „ readline ” Node.js modul az egymást követő bemenetek olvasásához a felhasználótól a bemeneti adatfolyamon:



const olvas = igényelnek ( 'olvasóvonal' ) ;
const readlineInterface = olvas. CreateInterface ( {
bemenet : folyamat. stdin ,
Kimenet : folyamat. stdout
} )
reqArr volt = [ ]
függvény reqData ( x ) {
ha ( x > 3 )
{
var átlag = 0
számára ( j in reqArr )
{
átlagos += Szám ( reqArr [ j ] )
}
konzol. log ( átlagos / 3 ) ;
}
más
{
readlineInterface. kérdés ( 'Írd be a ' + x + '3-ból szám:' ,    függvényt ( reqResponse ) {
reqArr. nyom ( reqResponse )
reqData ( x + 1 )
} )
}
}

reqData ( 1 ) ;

A fenti kód magyarázata az alábbiakban található felsorolásjelek formájában:

  • Először importálja a ' readline 'egy újonnan létrehozott' write.js ' fájlt, és tárolja a metódus objektumot egy ' olvas ” változó. Hozzon létre egy felületet, amely tárolja a „ readline ' felület, amely a ' CreateInterface() ” módszerrel.
  • Most hozzon létre egy üres tömböt ' reqArr ', és határozza meg a ' reqData() ' függvény, amely egy '' nevű paramétert is elfogad x ”.
  • A függvény először ellenőrzi, hogy a megadott érték nagyobb-e, mint ' 3 ' vagy nem. Igaz esetén a lekért értékek, amelyek a „ x ' változó egy tömbben kerül tárolásra, és hozzáadódik a '' nevű egyedi változóhoz átlagos ”.
  • Ezt követően a „ átlagos ' változó osztva ' 3 ' az átlag megtalálásához, mivel a maximálisan megengedett szám hossza ' 3 ” és az eredmény megjelenik a konzolon.
  • A másik részben a „ kérdés() ' metódus csatolva van a felülettel' readlineInerface ”. Ez a módszer megjeleníti az üzenetet a konzolon, és meghatároz egy anonim függvényt.
  • A függvény elfogadja a felhasználói bemeneti adatokat, és hozzáadja azokat a tömbhöz reqArr ”. Frissíti a „ x ' minden alkalommal, és átadja a frissített értéket a ' reqData() ” funkciót. Ez biztosítja, hogy a felhasználó csak háromnál kisebb értékeket írjon be a következőtől kezdve 0 ”. Végül hívja meg a „ reqData() ” funkciót a végrehajtási folyamat elindításához.

Most hajtsa végre ezt, amely tartalmazza a ' write.js ' fájlt a ' csomópont ' kulcsszó a ' mögött fájl név ” a terminálon:

csomópont írása

A kimenet megerősíti, hogy az egymást követő bemenetek beolvasásra kerülnek, és átlaguk megjelenik a konzolon a rekurzív megközelítés és a readline modul kombinációjával:

Ez az útmutató elmagyarázza az egymást követő bemenetek Node.js readline modullal történő olvasásának folyamatát.

Következtetés

Az egymást követő bemenetek Node.js readline modullal történő olvasásához először importálja ezt a modult egy munkafájlba, és hozzon létre egy felületet a ' CreateInterface() ” módszerrel. Ez a felület meghívja a „ kérdés() ” módszerrel. A kéréseket egymás után küldi el a felhasználónak, és az egyes kérések megfelelő válaszait továbbítja a visszahívási funkciónak, hogy a követelményeknek megfelelően alkalmazzon néhány műveletet. Megtanulta az egymást követő bemenetek olvasásának folyamatát a readline modul használatával.