gpt4 book ai didi

j - 如何向通过 jconsole.exe 运行的 J 脚本提供 STDIN 数据?

转载 作者:行者123 更新时间:2023-12-01 17:31:03 27 4
gpt4 key购买 nike

我想运行一个 J 脚本,提供 STDIN,并使用 STDOUT 接收脚本的输出。

我觉得我错过了一些非常明显的东西,但是 help pages on using jconsole.exe是 。 . .简洁。

我天真的想法是,我可以在 cmd.exe shell 中运行以下命令来提供 STDIN:

jconsole.exe script.ijs inputstring

虽然在没有尝试的 STDIN 的情况下仍然有效:

C:\..\bin>jconsole.exe "C:\path\no-input-script.ijs"
success
C:\..\bin>

no-input-script.ijs 文件如下:

stdout 'success'
exit ''

我有以下 script-with-input.ijs 文件:

input =: stdin ''
stdout 'input was ' , input
exit ''

当我运行以下命令时,系统挂起:

C:\..\bin>jconsole.exe "C:\path\script-with-input.ijs" xyz

然后当我按下 Ctrl+C 时,脚本退出,我留下以下内容:

C:\..\bin>jconsole.exe "C:\path\script-with-input.ijs" xyz
input was
C:\..\bin>

最佳答案

stdin 从 STDIN 读取输入直到 EOF(通常在 *nix ^D 中)。因此,您的“script-with-input.ijs”等待用户输入或管道。

c:>jconsole.exe "script-with-input.ijs" hello
this is user input
^D
input was this is user input

相反,您尝试做的是读取命令的参数。这些存储在 ARGV 中:

NB. script-with-input.ijs
input =: ARGV
echo input
exit''

然后:

c:>jconsole.exe "script-with-input.ijs" hello
┌────────────┬─────────────────────┬─────┐
│jconsole.exe│script-with-input.ijs│hello│
└────────────┴─────────────────────┴─────┘

关于j - 如何向通过 jconsole.exe 运行的 J 脚本提供 STDIN 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32704137/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com