Jak czytać kolejne wejścia za pomocą modułu Readline Node.js?

Jak Czytac Kolejne Wejscia Za Pomoca Modulu Readline Node Js



Czytaj linię ” Moduł Node.js idealnie nadaje się do zastosowania w scenariuszach, w których od użytkownika końcowego należy pobrać więcej niż jedno kolejne dane wejściowe. Moduł ten otacza standardowe wyjście i wejście, co pomaga w czytaniu strumienia wejściowego linia po linii bez pomijania jakichkolwiek odebranych danych. Wraz z nadejściem „ Czytaj linię ”, procedura odzyskiwania danych w czasie rzeczywistym staje się znacznie łatwiejsza i szybsza.

W tym artykule wyjaśniono procedurę odczytu kolejnych danych wejściowych za pomocą modułu readline nodejs.

Jak czytać kolejne wejścia za pomocą modułu Readline Node.js?

Kolejne wejścia to takie, które pobierają i przechowują odpowiedzi na wiele pytań jednocześnie w sposób sekwencyjny. Te kolejne zapytania zadawane są najczęściej podczas dołączania do niektórych kursów lub w momencie weryfikacji. Poniżej podano kilka przykładów implementacji odczytu kolejnych danych wejściowych przy użyciu modułu readline Node.js.







Przykład 1: Odczyt kolejnych wejść przy użyciu modułu Readline i tablic

W tym przykładzie kolejne dane wejściowe są pobierane i odczytywane za pomocą przycisku „ Czytaj linię moduł. Dane wejściowe są przechowywane w tablicy, skąd są wyświetlane na konsoli:



konst Czytaj linię = wymagać ( 'Czytaj linię' ) ;

konst interfejs readline = Czytaj linię. utwórz interfejs ( {

wejście : proces. stdin ,

wyjście : proces. standardowe wyjście

} )

konst zapotrzebowanie0 = 'Móc! Znam twój pseudonim? ;

konst wymaganie 1 = 'Jakie jest Twoje hobby' ;

konst wymaganie 2 = „Czego lubisz słuchać” ;

konst wymaganie 3 = 'Móc! Znam twoje ulubione danie? ;

konst wymaganie 4 = 'Gdzie mieszkasz?' ;

konst wymaganie 5 = 'Jaki jest Twój ulubiony kolor' ;

konst wymaganie 6 = 'Kto jest twoim najlepszym przyjacielem' ;

konst reqArr = [ wymaganie0, wymaganie1, wymaganie2, wymaganie3, wymaganie4, wymaganie5, wymaganie6 ] ;

niech rez = „” ;

konst żądajDanych = X => {

Jeśli ( X < reqArr. długość ) {

interfejs readline. pytanie ( reqArr [ X ] , ( żądanie odpowiedzi ) => {

rez += ' \N ' + żądanie odpowiedzi ;

żądajDanych ( X + 1 ) ;

} ) ;

} w przeciwnym razie {

konsola. dziennik ( „Dzięki Do podziel się ze mną ! $ { rez } ` ) ;

interfejs readline. zamknąć ( ) ;

}

} ;

żądajDanych ( 0 ) ;

Opis kodu użytego w powyższym fragmencie kodu znajduje się poniżej:



  • Zacznij od zaimportowania „ Czytaj linię ” i zapisz jego obiekt w zmiennej o nazwie „ Czytaj linię ”.
  • Następnie utwórz interfejs o nazwie „ interfejs readline ' dla ' Czytaj linię ” obiekt, który otacza standardowy proces wejścia i wyjścia za pomocą „ utwórz interfejs() ' metoda. Wiąże również każde żądanie i odpowiedź z pojedynczym strumieniem odczytywalnym na wejściu i zapisywalnym strumieniem wyjściowym za pomocą „ proces ' nieruchomość.
  • Następnie utwórz siedem „ konst ” zmienne typu do przechowywania niektórych próśb lub pytań, które należy zadać po kolei. Przechowuj te stałe w pojedynczej tablicy o nazwie „ reqArr ”.
  • Utwórz nową pustą zmienną „ rez ”, zdefiniuj funkcję strzałkową o nazwie „ żądajDanych ” i przekazać pojedynczy parametr „ X ”.
  • Wewnątrz tej funkcji użyj opcji „ Jeśli ” instrukcja sprawdzająca, czy wartość podanego parametru jest mniejsza niż długość „ reqArr ' albo nie.
  • W przypadku prawdy „ pytanie() ” jest stosowana do interfejsu i wyświetla sekwencyjnie każde żądanie z tablicy na wyjściu. Następnie przekazuje odpowiadające im wartości jako argument.
  • Argumenty te są przechowywane w już utworzonej tablicy „ rez ”.
  • Gdy wszystkie żądania zostaną kolejno wyświetlone na konsoli, spełniony zostanie warunek „ Jeśli ” staje się fałszywe i w „ w przeciwnym razie część, „ rez ” zostanie wyświetlona na konsoli.
  • Na koniec interfejs readline również zostaje zamknięty poprzez wywołanie metody „ zamknąć() ' metoda. Wywołaj także opcję „ żądajDanych() ” i przekazać wartość początkową „ 0 ”, aby rozpocząć pytanie od góry lub od pierwszego pytania dostępnego w tablicy.

Teraz wykonaj ten plik zawierający, wpisując „ węzeł ” słowo kluczowe za „ Nazwa pliku ” na terminalu:





zapis węzła

Wynik pokazuje, że program odczytał kolejne dane wejściowe i zwrócił je wszystkie na raz:

Przykład 2: Odczyt kolejnych wejść przy użyciu modułu Readline i funkcji rekurencyjnej

W tej metodzie zastosowano podejście rekurencyjne z „ Czytaj linię ” Moduł Node.js do odczytu kolejnych wejść od użytkownika na strumieniu wejściowym:



konst Czytać = wymagać ( 'Czytaj linię' ) ;
konst interfejs readline = Czytać. utwórz interfejs ( {
wejście : proces. stdin ,
wyjście : proces. standardowe wyjście
} )
było wymagane Arr = [ ]
funkcja reqData ( X ) {
Jeśli ( X > 3 )
{
średnia średnia = 0
Do ( j w reqArr )
{
przeciętny += Numer ( reqArr [ J ] )
}
konsola. dziennik ( przeciętny / 3 ) ;
}
w przeciwnym razie
{
interfejs readline. pytanie ( 'Wejdz do ' + X + „liczba z 3:” ,   funkcja ( żądanie odpowiedzi ) {
reqArr. naciskać ( żądanie odpowiedzi )
żądajDanych ( X + 1 )
} )
}
}

żądajDanych ( 1 ) ;

Wyjaśnienie powyższego kodu opisano poniżej w formie wypunktowań:

  • Najpierw zaimportuj „ Czytaj linię ”w nowo utworzonym” napisz.js ” i zapisz obiekt metody w „ Czytać ' zmienny. Utwórz interfejs przechowujący „ Czytaj linię ”, który jest tworzony poprzez „ utwórz interfejs() ' metoda.
  • Teraz utwórz pustą tablicę o nazwie „ reqArr ” i zdefiniuj „ żądajDanych() ”, która akceptuje również pojedynczy parametr o nazwie „ X ”.
  • Funkcja najpierw sprawdza, czy podana wartość jest większa niż „ 3 ' albo nie. W przypadku true, pobrane wartości, które przychodzą w „ X ” zmienna zostanie zapisana w tablicy i dodana do pojedynczej zmiennej o nazwie „ przeciętny ”.
  • Następnie „ przeciętny zmienna jest dzielona przez „ 3 ”, aby znaleźć średnią, ponieważ długość maksymalnej dozwolonej liczby wynosi „ 3 ”, a wynik zostanie wyświetlony na konsoli.
  • W dalszej części „ pytanie() ” metoda jest dołączona do interfejsu „ readlineInerface ”. Ta metoda wyświetla komunikat na konsoli i definiuje funkcję anonimową.
  • Funkcja akceptuje dane wejściowe użytkownika i dodaje je do tablicy „ reqArr ”. Aktualizuje także wartość „ X ” za każdym razem i przekazuje zaktualizowaną wartość do „ żądajDanych() ”funkcja. Dzięki temu użytkownik będzie wprowadzał tylko wartości mniejsze niż trzy, zaczynając od „ 0 ”. Na koniec wywołaj opcję „ żądajDanych() ”, aby rozpocząć proces wykonywania.

Teraz wykonaj to zawierające „ napisz.js ”, wpisując „ węzeł ” słowo kluczowe za „ Nazwa pliku ” na terminalu:

zapis węzła

Wynik potwierdza, że ​​kolejne wejścia są odczytywane, a ich średnia jest wyświetlana na konsoli przy użyciu kombinacji podejścia rekurencyjnego i modułu readline:

W tym przewodniku wyjaśniono procedurę odczytywania kolejnych danych wejściowych za pomocą modułu readline Node.js.

Wniosek

Aby odczytać kolejne wejścia za pomocą modułu readline Node.js, należy najpierw zaimportować ten moduł do pliku roboczego i utworzyć interfejs za pomocą „ utwórz interfejs() ' metoda. Interfejs ten wywołuje funkcję „ pytanie() ' metoda. Wysyła kolejno żądania do użytkownika i przekazuje odpowiednie odpowiedzi na każde żądanie do funkcji wywołania zwrotnego w celu wykonania niektórych operacji zgodnie z wymaganiami. Poznałeś proces odczytywania kolejnych wejść za pomocą modułu readline.