Как полностью перенаправить stdin и stdout с помощью Node.js?

Плохой заголовок ... У меня проблема с созданием интерфейса командной строки.
Сначала я попытался с помощью кода Haskell для начинающих:

main = do
  c <- getLine
  print c
  main

Я пытался перезагрузить его, просмотрев файл h.hs и запустив runhaskell h.hs каждый раз, когда я сохраняю свой код. Мы можем игнорировать, как его перезагрузить так как это не так хлопотно.

Вот мой код в CoffeeScript, чтобы попробовать следующее:

runner = spwan 'runhaskell', ['h.hs']
process.stdin.pipe runner.stdin
runner.stdout.pipe process.stdout
runner.stderr.pipe process.stderr

Но он не работает так, как выдается, выходы не появляются каждый раз, когда я нажимаю кнопку ввода, а печатается после runner как убитый. В чем проблема в коде?

Моей средой является Archlinux.

0
добавлено отредактировано
Просмотры: 2
nl ja de
@Deestan Я попробовал еще раз. Он дает выходы, когда я запускаю 'end' вручную. Но когда я закрываю его, я больше не могу писать текст в этот поток.
добавлено автор jiyinyiyong, источник
Может ли быть, что runhaskell ждет закрытия stdin ?
добавлено автор Deestan, источник
Да, вам нужно будет отправить все до окончания. Похоже, что runhaskell отказывается выполнять какую-либо работу, пока не получит скрипт whole для запуска, а закрытие потока - это то, как вы сигнализируете, что вы отправили весь скрипт.
добавлено автор Deestan, источник