我想在Haskell中編寫一個程序,它將輸入作爲一串句子,調用一個帶有該輸入的JavaScript文件,並將該javascript文件的輸出作爲輸出返回Haskell文件。現在,javascript文件的輸出不會被打印。目前尚不清楚JavaScript文件是否被調用。Haskell調用Node.js文件不工作
這是在Haskell腳本:
main :: IO()
main =
do
putStrLn "Give me the paragraphs \n"
paragraphs <- getLine
output <- readCreateProcess (shell "node try2.js") paragraphs
putStrLn output
腳本在Node.js的期望的輸出是toplines:
var lexrank = require('./lexrank');
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Hi', (answer) => {
var originalText = answer;
var topLines = lexrank.summarize(originalText, 5, function (err, toplines, text) {
if (err) {
console.log(err);
}
rl.write(toplines);
// console.log(toplines);
});
rl.close();
});
我猜我的做stdin的方式有一些問題。我是新來Node.js加載
難道你讓你的問題更具體。它是Haskell程序嗎?這是否適用於一個簡單的地獄世界js程序。你的計劃是你期望的嗎? – epsilonhalbe
您可能想查看[process.stdin](https://nodejs.org/api/process.html#process_process_stdin)而不是readline。如果你想在stdout中取回東西,你可以通過pipe到'process.stdout',或者'process.stdout.write'或者只是'console.log()',如果你想要一個快速的解決方案。 – dvlsg
究竟是不是按預期工作? – Kwarrtz