如何在 J 编程语言中获取用户输入

How to get user input in the J programming language

提问人:George 提问时间:3/19/2023 最后编辑:مجتبی شرفیهGeorge 更新时间:5/24/2023 访问量:211

问:

我对 J 编程语言很陌生,所以我对数组编程语言很感兴趣,并决定试一试。 不幸的是,这是一种非常小众的语言,这意味着可用的学习资源并不多。 出于这个原因,我还没有弄清楚如何在 J 中获取用户输入,我正在制作一个简单的程序,程序要求用户输入一个名字并问候他们。

我尝试向 ChatGPT 寻求解决方案,但是,它没有用。 我仍然会展示它告诉我的代码:我也尝试搜索它,但它给了我关于 java、jquery、javascript 和其他不相关语言的结果。insertVariableNameHere =: 1!:1]0

IO 用户输入 J

评论


答:

3赞 bob 3/19/2023 #1

ChatGPT 很接近,但在像 J 这样的简洁语言中,接近还不够好。它确实使用“从文件中读取”的外连词,但它需要具有参数 1 而不是 0。1!:1

   read=: 1!:1  NB. read becomes a verb to read from file
   variable=: read 1 NB. 1 designates keyboard as the source to be read
1 2 3 4    NB. indented waiting for input
   variable  NB. Now contains what you entered.
1 2 3 4

你在这里问的没有什么是显而易见的或愚蠢的。J wiki 中有很多关于 J 的信息,一个非常好的起点是这里:https://code.jsoftware.com/wiki/For_New_Users 或更多学习材料:https://code.jsoftware.com/wiki/Books

如果您从 jconsole 转移到 JQt 或 JHS 环境,您还可以从 J 实验室中受益,这些实验室是交互式教程。与 J 一起享受您的旅程。

评论

0赞 George 3/19/2023
这确实部分起作用,每当执行我在代码编辑器/ IDE中编辑的文件时,它不起作用,但是,当我在JConsole中键入每一行时,它都可以工作。我通过动词加载文件来执行它以加载我的文件。这样:loadload 'filename.ijs
0赞 bob 3/20/2023
你可以看看这个。code.jsoftware.com/wiki/Guides/J_Shell_Script我的解决方案使用了键盘输入的参数。可以在此页面上看到 和 的不同选项。code.jsoftware.com/wiki/Vocabulary/Foreigns#m111!:1 1!:2
0赞 user3234709 5/24/2023 #2

也许是这样的事情?

greeting=:3 : 0
input=:1!:1[1
echo 'Hello ',input
)

试运行:

greeting ''
Jason

输出:

Hello Jason