Kuinka lukea peräkkäisiä syötteitä Node.js Readline -moduulilla?

Kuinka Lukea Perakkaisia Syotteita Node Js Readline Moduulilla



' Lue rivi ” Node.js-moduuli on ihanteellinen käytettäväksi skenaarioissa, joissa loppukäyttäjältä on otettava useampi kuin yksi peräkkäinen syöte. Tämä moduuli kääri vakiolähdön ja -syötön, mikä auttaa lukemaan tulovirtaa rivi riviltä ohittamatta vastaanotettuja tietoja. Kun ' Lue rivi ”-moduulin avulla tietojen reaaliaikainen nouto on paljon helpompaa ja nopeampaa.

Tämä kirjoitus selittää menettelyn peräkkäisten syötteiden lukemiseksi nodejs readline -moduulilla.

Kuinka lukea peräkkäisiä syötteitä Node.js Readline -moduulilla?

Peräkkäiset syötteet ovat niitä, jotka vastaanottavat ja tallentavat vastaukset useisiin kysymyksiin samaan aikaan peräkkäin. Nämä peräkkäiset kyselyt kysytään useimmiten joillekin kursseille liittyessä tai vahvistuksen yhteydessä. Alla on muutama esimerkki peräkkäisten syötteiden lukemisesta Node.js-lukumoduulin avulla.





Esimerkki 1: Peräkkäisten syötteiden lukeminen Readline-moduulin ja taulukoiden avulla

Tässä esimerkissä peräkkäiset syötteet otetaan ja luetaan käyttämällä ' Lue rivi ” moduuli. Tulot tallennetaan taulukkoon, josta ne näkyvät konsolissa:



konst Lue rivi = vaatia ( 'Lue rivi' ) ;

konst readlineInterface = Lue rivi. luo käyttöliittymä ( {

syöttö : käsitellä asiaa. stdin ,

ulostulo : käsitellä asiaa. stdout

} )

konst req0 = 'Saattaa! Tiedänkö lempinimesi?' ;

konst req1 = 'Mikä on harrastuksesi' ;

konst req2 = 'Mitä rakastat kuunnella' ;

konst req3 = 'Saattaa! Tiedänkö lempiruokasi?' ;

konst req4 = 'Missä sinä asut?' ;

konst req5 = 'Mikä on lempivärisi' ;

konst req6 = 'Kuka on paras ystäväsi' ;

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

anna res = '' ;

konst reqData = x => {

jos ( x < reqArr. pituus ) {

readlineInterface. kysymys ( reqArr [ x ] , ( reqResponse ) => {

res += ' \n ' + reqResponse ;

reqData ( x + 1 ) ;

} ) ;

} muu {

konsoli. Hirsi ( `Kiitos varten jakaa kanssani ! $ { res } ` ) ;

readlineInterface. kiinni ( ) ;

}

} ;

reqData ( 0 ) ;

Yllä olevassa koodinpätkässä käytetyn koodin kuvaus on alla:



  • Aloita tuomalla ' Lue rivi ' moduuli ja tallenna sen objekti muuttujaan nimeltä ' Lue rivi ”.
  • Luo seuraavaksi käyttöliittymä nimeltä ' readlineInterface ' varten ' Lue rivi '-objekti, joka kääri vakiosyöttö- ja tulostusprosessin käyttämällä ' createInterface() ”menetelmä. Se myös liittää jokaisen pyynnön ja vastauksen yhteen sisääntuloon luettavaan ja tulostettavaan kirjoitettavaan virtaan käyttämällä ' käsitellä asiaa ” omaisuutta.
  • Luo sitten seitsemän ' konst ”-tyyppisiä muuttujia tallentaaksesi joitain pyyntöjä tai kysymyksiä, jotka on kysyttävä peräkkäin. Tallenna nämä vakiot yhteen taulukkoon nimeltä ' reqArr ”.
  • Luo uusi tyhjä muuttuja ' res ', määritä nuolifunktio nimeltä ' reqData ' ja välitä yksi parametri ' x ”.
  • Käytä tässä toiminnossa ' jos ' lauseke, joka tarkistaa, onko annetun parametrin arvo pienempi kuin '' reqArr ' tai ei.
  • Jos kyseessä on totta, ' kysymys () ” -menetelmää sovelletaan käyttöliittymään ja se näyttää jokaisen taulukon pyynnön lähdössä peräkkäin. Sitten se välittää niitä vastaavat annetut arvot argumenttina.
  • Nämä argumentit tallennetaan jo luotuun taulukkoon ' res ”.
  • Kun kaikki pyynnöt näytetään peräkkäin konsolissa, ehto ' jos 'lausunto muuttuu vääräksi ja ' muu '-osa, ' res ' -taulukko näytetään konsolin päällä.
  • Lopuksi myös readline-liittymä sulkeutuu kutsumalla ' kiinni() ”menetelmä. Käytä myös ' reqData() ' -funktio ja välitä aloitusarvo ' 0 ” aloittaaksesi kysymyksen ylhäältä tai taulukon ensimmäisestä kysymyksestä.

Suorita nyt tämä sisältävä tiedosto kirjoittamalla ' solmu 'avainsana sanan '' takana Tiedoston nimi ' terminaalissa:





solmun kirjoitus

Tulos näyttää, että ohjelma on lukenut peräkkäiset syötteet ja palauttanut ne kaikki kerralla:

Esimerkki 2: Peräkkäisten syötteiden lukeminen Readline-moduulin ja rekursiivisen funktion avulla

Menetelmässä käytetään rekursiivista lähestymistapaa ' Lue rivi ” Node.js-moduuli lukeaksesi käyttäjän peräkkäiset syötteet syöttövirrassa:



konst lukea = vaatia ( 'Lue rivi' ) ;
konst readlineInterface = lukea. luo käyttöliittymä ( {
syöttö : käsitellä asiaa. stdin ,
ulostulo : käsitellä asiaa. stdout
} )
oli reqArr = [ ]
toiminto reqData ( x ) {
jos ( x > 3 )
{
var keskiarvo = 0
varten ( j in reqArr )
{
keskiverto += Määrä ( reqArr [ j ] )
}
konsoli. Hirsi ( keskiverto / 3 ) ;
}
muu
{
readlineInterface. kysymys ( 'Syötä ' + x + 'numero kolmesta:' ,    funktio ( reqResponse ) {
reqArr. työntää ( reqResponse )
reqData ( x + 1 )
} )
}
}

reqData ( 1 ) ;

Yllä olevan koodin selitys on kuvattu alla luettelomerkkien muodossa:

  • Tuo ensin ' Lue rivi 'äskettäin luodussa' write.js ' -tiedosto ja tallenna menetelmäobjekti ' lukea ”muuttuja. Luo käyttöliittymä, joka tallentaa ' Lue rivi ' käyttöliittymä, joka luodaan ' createInterface() ”menetelmä.
  • Luo nyt tyhjä taulukko nimeltä ' reqArr ' ja määritä ' reqData() '-toiminto, joka hyväksyy myös yhden parametrin nimeltä ' x ”.
  • Toiminto tarkistaa ensin, onko annettu arvo suurempi kuin ' 3 ' tai ei. Jos on tosi, haetut arvot, jotka tulevat ' x 'muuttuja tallennetaan taulukkoon ja lisätään yhteen muuttujaan nimeltä ' keskiverto ”.
  • Sen jälkeen ' keskiverto 'muuttuja jaetaan' 3 ' löytääksesi keskiarvon, koska suurimman sallitun luvun pituus on ' 3 ” ja tulos näkyy konsolissa.
  • Toisessa osassa ' kysymys () 'menetelmä on liitetty käyttöliittymään' readlineInerface ”. Tämä menetelmä näyttää viestin konsolin kautta ja määrittää anonyymin toiminnon.
  • Toiminto hyväksyy käyttäjän syöttämät tiedot ja lisää ne taulukkoon ' reqArr ”. Se päivittää myös ' x ' joka kerta ja välittää päivitetyn arvon ' reqData() ”-toiminto. Tämä varmistaa, että käyttäjä syöttää vain arvoja, jotka ovat pienempiä kuin kolme alkaen ' 0 ”. Lopuksi kutsu ' reqData() ”-toiminto käynnistää suoritusprosessin.

Suorita nyt tämä, joka sisältää ' write.js '-tiedosto kirjoittamalla ' solmu 'avainsana sanan '' takana Tiedoston nimi ' terminaalissa:

solmun kirjoitus

Tulos vahvistaa, että peräkkäiset syötteet luetaan ja niiden keskiarvo näytetään konsolin yli käyttämällä rekursiivisen lähestymistavan ja readline-moduulin yhdistelmää:

Tässä oppaassa selitetään peräkkäisten syötteiden lukeminen Node.js-lukumoduulilla.

Johtopäätös

Jos haluat lukea peräkkäisiä syötteitä Node.js readline -moduulilla, tuo tämä moduuli ensin työtiedostoon ja luo käyttöliittymä käyttämällä ' createInterface() ”menetelmä. Tämä käyttöliittymä kutsuu ' kysymys () ”menetelmä. Se lähettää pyyntöjä käyttäjälle peräkkäin ja välittää kunkin pyynnön vastaavat vastaukset takaisinsoittotoimintoon soveltaakseen joitain toimintoja vaatimusten mukaisesti. Olet oppinut lukemaan peräkkäisiä syötteitä readline-moduulin avulla.