在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'谢谢!
答案 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