使用J编程语言将值打印到stdout

时间:2017-12-21 18:20:25

标签: j

在J文档的这个页面上,有一个命令可以将值打印到stdout和显示:http://www.jsoftware.com/help/dictionary/dx001.htm

具体做法是: x 1!:2 y写。

这似乎表明可以用屏幕输出的y值为2来调用它,stdout的值为4,如下所示:

'123'1!:2 2

但是,当我运行此代码时,我只收到错误:“rank error”。所以我的问题是,如何使用1!:2原语将数据值打印到屏幕或标准输出?

我从动词回声中的另一个例子中注意到,这似乎有效,但为什么我需要将4键绑定到1!:2以使其有效?

回声'123' (1!:2& 4)'123'

谢谢!

1 个答案:

答案 0 :(得分:1)

J从右向左读取,因此它将!:的正确参数视为2 2,这就是为什么你得到等级错误。

   '123' 1!:2 2
|rank error
|   '123'1    !:2 2

您可以通过隔离您希望成为2外国联合的正确参数的1!:2来解决此问题。

   '123' 1!:2 (2) NB. Parenthesis to isolate the argument
123
123
   '123' 1!:2 [ 2 NB. verb [ sends the 2 through to 1!:2
123
123
   '123' (1!:2) 2 NB. or you can isolate the conjunction
123
123