В этой статье объясняется процедура чтения последовательных входных данных с помощью модуля 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.