如何在javascript执行之前传递输入,不带终端提示

问题描述 投票:0回答:1

我有以下代码:

'use strict';

// const exec = require('child_process').exec
var brainfuck = require('brainfuck')
let source = '>,[>,]<[.<]'
brainfuck.exec(source, function(err, output) {
    console.log(process.argv)
    console.log(output)
})

这是一个头脑笨拙的解释器,接受输入直到传递'null'值,所以代码停止,然后所有代码都反转,并打印给用户。

当我运行时,我被要求传递来自TERMINAL的值,我确实希望在不进行“人工干预”的情况下实现此输入的自动化,因为我要运行成千上万的测试,因此我的代码将决定在询问时作为输入传递什么。

enter image description here

enter image description here

javascript node.js shell interpreter brainfuck
1个回答
0
投票

脑袋模块正在从process.stdin中读取。尝试先将其重新分配给另一个流。

process.stdin = fs.createReadStream("filename")
brainfuck.exec(...)

您还可以使用字符串作为输入,有关各种方法,请参见How to create streams from string in Node.Js?

const { Readable } = require('stream');

process.stdin = Readable.from('input string');
brainfuck.exec(...)
© www.soinside.com 2019 - 2024. All rights reserved.