Есть ли способ прочитать стандартный ввод с помощью JavaScript? - PullRequest
20 голосов
/ 22 марта 2011

Я видел это для многих других языков, но не для JavaScript.

Я пытаюсь решить такие проблемы, как: this (codechef.com) и, конечно, программы должны иметь возможность читать стандартные вC ++ и другие языки делают.

РЕДАКТИРОВАТЬ: Спасибо за ответы.Основная причина, по которой я хочу эту функциональность, заключается в том, чтобы я мог ответить на вопросы по CodeChef;Codechef отправляет несколько входных файлов в файлы / программы, которые являются ответами (и, конечно, программы должны отвечать требуемым образом, чтобы ответ был правильным).

Ответы [ 5 ]

11 голосов
/ 28 января 2016

Если вы используете узел в качестве переводчика в терминале, вы можете использовать это:

---- name.js ----
var readline = require('readline');

var rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout

});

rl.question(">>What's your name?  ", function(answer) {
   console.log("Hello " + answer);
   rl.close();
});

----- terminal ----
node name.js
8 голосов
/ 22 марта 2011

Это зависит от среды, в которой выполняется ваш JavaScript.

В браузере нет стандартного ввода (браузер не консоль).Обычно ввод поступает из некоторого элемента текстового поля в форме на странице.

Если вы используете что-то вроде Rhino , то вы можете импортировать стандартные классы ввода-вывода Java и читатьот stdin таким образом ( см. второй пример больше не в вики).

2 голосов
/ 30 декабря 2018

Используйте только readline ()

var a = readLine();

значение, которое вы вводите, будет сохранено в переменной a.

readline () : читает одну строку ввода из stdin, возвращая ее вызывающей стороне.Вы можете использовать это для создания интерактивных программ оболочки на JavaScript.

1 голос
/ 26 января 2014

В некоторых средах, таких как интервью с людьми, они предоставляют вам функцию, в которой весь ввод поступает в качестве аргумента в виде строки.

Все входные данные одновременно.

Затем вы должны проанализировать этот ввод, чтобы получить различные токены из этой строки.

После этого вам следует написать код дальше.

1 голос
/ 22 марта 2011

Его нет в стандартной библиотеке ECMAScript (стандартизированная версия JavaScript). Однако некоторые реализации JavaScript включают его. Например, CommonJS, который используется несколькими средами JavaScript вне браузера, имеет свойство system.stdin . Rhino может использовать стандартные классы ввода Java.

Если вы просто пытаетесь попрактиковаться в программировании, вы можете использовать textarea вместо стандартного ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...