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

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

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

具体来说:x 1!:2 y写。

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

'123' 1!:2 2

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

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

echo'123'(1!:2&4)'123'

谢谢!

j
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.