Как читать последовательные входные данные с помощью модуля Node.js Readline?

Kak Citat Posledovatel Nye Vhodnye Dannye S Pomos U Modula Node Js Readline



« линия чтения Модуль Node.js идеально подходит для использования в сценариях, где от конечного пользователя необходимо получить более одного последовательного ввода. Этот модуль объединяет стандартный вывод и ввод, что помогает читать входной поток построчно, не пропуская полученные данные. С приходом « линия чтения ” процедура получения данных в режиме реального времени становится намного проще и быстрее.

В этой статье объясняется процедура чтения последовательных входных данных с помощью модуля readline nodejs.

Как читать последовательные входные данные с помощью модуля Node.js Readline?

Последовательные входы — это те, которые принимают и сохраняют ответы на несколько вопросов одновременно в последовательном порядке. Эти последовательные вопросы чаще всего задаются при присоединении к некоторым курсам или во время проверки. Ниже приведены несколько примеров реализации чтения последовательных входных данных с использованием модуля Readline Node.js.







Пример 1. Чтение последовательных входных данных с использованием модуля Readline и массивов

В этом примере последовательные входные данные берутся и считываются с помощью « линия чтения » модуль. Входные данные сохраняются в массиве, откуда они отображаются на консоли:



константа линия чтения '=' требовать ( 'линия чтения' ) ;

константа readlineИнтерфейс '=' линия чтения. создатьИнтерфейс ( {

вход : процесс. стандартный ввод ,

выход : процесс. стандартный вывод

} )

константа req0 '=' 'Может! Я знаю твое прозвище? ;

константа req1 '=' 'Какое твое хобби' ;

константа req2 '=' «Что ты любишь слушать» ;

константа req3 '=' 'Может! Я знаю твое любимое блюдо? ;

константа req4 '=' 'Где вы живете?' ;

константа req5 '=' 'Какой ваш любимый цвет' ;

константа req6 '=' 'Кто твой лучший друг' ;

константа reqArr '=' [ req0, req1, req2, req3, req4, req5, req6 ] ;

давай ответим '=' '' ;

константа reqData '=' Икс => {

если ( Икс < reqArr. длина ) {

readlineИнтерфейс. вопрос ( reqArr [ Икс ] , ( reqResponse ) => {

рез += ' \п ' + reqResponse ;

reqData ( Икс + 1 ) ;

} ) ;

} еще {

консоль. бревно ( `Спасибо для делюсь со мной ! $ { рез } ` ) ;

readlineИнтерфейс. закрывать ( ) ;

}

} ;

reqData ( 0 ) ;

Описание кода, используемого в приведенном выше фрагменте кода, приведено ниже:



  • Начните с импорта файла « линия чтения ” и сохраните его объект в переменной с именем “ линия чтения ».
  • Затем создайте интерфейс с именем « readlineИнтерфейс ' для ' линия чтения ” объект, который оборачивает стандартный процесс ввода и вывода с помощью “ создатьИнтерфейс() метод. Он также связывает каждый запрос и ответ с одним входным потоком, доступным для чтения, и выходным потоком, доступным для записи, используя « процесс ' свойство.
  • Затем создайте семь « константа » введите переменные для хранения некоторых запросов или вопросов, которые необходимо задавать последовательно. Сохраните эти константы в одном массиве с именем « reqArr ».
  • Создайте новую пустую переменную « рез », определите стрелочную функцию с именем « reqData » и передайте единственный параметр « Икс ».
  • Внутри этой функции используйте « если ” оператор, который проверяет, меньше ли значение предоставленного параметра длины “ reqArr ' или нет.
  • В случае истины, « вопрос() ” применяется к интерфейсу и последовательно отображает каждый запрос из массива на выходе. Затем он передает соответствующие предоставленные значения в качестве аргумента.
  • Эти аргументы хранятся в уже созданном массиве « рез ».
  • Как только все запросы будут последовательно отображены на консоли, тогда будет выполнено условие « если утверждение становится ложным и в еще часть, « рез Массив отображается на консоли.
  • Наконец, интерфейс readline также закрывается, вызывая команду « закрывать() метод. Также вызовите команду « рекДанные() ” и передайте начальное значение “ 0 », чтобы начать вопрос сверху или с первого вопроса, доступного в массиве.

Теперь запустите этот содержащий файл, введя « узел Ключевое слово, стоящее за « имя файла » на терминале:





запись узла

Вывод показывает, что программа прочитала последовательные входные данные и вернула их все сразу:

Пример 2. Чтение последовательных входных данных с использованием модуля Readline и рекурсивной функции.

В методе используется рекурсивный подход с « линия чтения Модуль Node.js для чтения последовательных входных данных пользователя во входном потоке:



константа читать '=' требовать ( 'линия чтения' ) ;
константа readlineИнтерфейс '=' читать. создатьИнтерфейс ( {
вход : процесс. стандартный ввод ,
выход : процесс. стандартный вывод
} )
было необходимо '=' [ ]
функция reqData ( Икс ) {
если ( Икс > 3 )
{
переменная средняя '=' 0
для ( j в reqArr )
{
средний += Число ( reqArr [ дж ] )
}
консоль. бревно ( средний / 3 ) ;
}
еще
{
readlineИнтерфейс. вопрос ( 'Введите ' + Икс + 'номер из 3:' ,    функция ( reqResponse ) {
reqArr. толкать ( reqResponse )
reqData ( Икс + 1 )
} )
}
}

reqData ( 1 ) ;

Объяснение приведенного выше кода описано ниже в виде пунктов:

  • Сначала импортируйте « линия чтения » во вновь созданном « write.js ” и сохраните объект метода в файле “ читать ' переменная. Создайте интерфейс, который хранит « линия чтения ” интерфейс, который создается с помощью “ создатьИнтерфейс() метод.
  • Теперь создайте пустой массив с именем « reqArr » и определить « рекДанные() ” функция, которая также принимает один параметр с именем “ Икс ».
  • Функция сначала проверяет, превышает ли предоставленное значение « 3 ' или нет. В случае true полученные значения, поступающие в « Икс Переменная сохраняется в массиве и добавляется к единственной переменной с именем « средний ».
  • После этого « средний ” переменная делится на “ 3 », чтобы найти среднее значение, поскольку длина максимально допустимого числа равна « 3 » и результат отображается на консоли.
  • В остальной части « вопрос() ” метод привязан к интерфейсу “ readlineИнтерфейс ». Этот метод отображает сообщение на консоли и определяет анонимную функцию.
  • Функция принимает введенные пользователем данные и добавляет эти данные в массив « reqArr ». Он также обновляет значение « Икс » каждый раз и передает обновленное значение в « рекДанные() » функция. Это гарантирует, что пользователь вводит только значения меньше трех, начиная с « 0 ». Наконец, вызовите « рекДанные() ” для запуска процесса выполнения.

Теперь выполните команду, содержащую « write.js » файл, введя « узел Ключевое слово, стоящее за « имя файла » на терминале:

запись узла

Вывод подтверждает, что последовательные входные данные читаются, и их среднее значение отображается на консоли с использованием комбинации рекурсивного подхода и модуля readline:

В этом руководстве объясняется процедура чтения последовательных входных данных с помощью модуля Readline Node.js.

Заключение

Чтобы прочитать последовательные входные данные с помощью модуля Readline Node.js, сначала импортируйте этот модуль в рабочий файл и создайте интерфейс, используя « создатьИнтерфейс() метод. Этот интерфейс вызывает « вопрос() метод. Он последовательно отправляет запросы пользователю и передает соответствующие ответы на каждый запрос функции обратного вызова для применения некоторых операций в соответствии с требованиями. Вы изучили процесс чтения последовательных входных данных с помощью модуля readline.