没有盒子的输出

时间:2014-01-22 17:51:08

标签: j

我使用(迷人的)J语言的第一个小时,看起来很不错,但我遇到了我无法在文档的帮助下分析的第一个问题。

如何计算字符串中的字符:

 y =. 'hello world'
 (~. y) ; " 0 (+/ "  1 =y)
┌─┬─┐
│h│1│
├─┼─┤
│e│1│
├─┼─┤
│l│3│
├─┼─┤
│o│2│
├─┼─┤
│ │1│
├─┼─┤
│w│1│
├─┼─┤
│r│1│
├─┼─┤
│d│1│
└─┴─┘

但我怎么能丢掉盒子?我认为;在一个水平框中加入两个项目,但如果没有框字符,似乎很难做到这一点。我怎么得到:

h 1
e 1
l 3

等等?它是演示选项吗?

1 个答案:

答案 0 :(得分:5)

嗯,对于初学者,你必须注意你不能分组不同类型的矩阵元素。拳击在这里有帮助,因为它将所有元素放在同一只脚上:所有盒子。

您可以做的一件事是格式化(":)文字和针脚(,.)而不是链接(;):

(~.y),. (2 ": "0 +/ "1 = y)

2 ":中的2作为格式指示符,2位数宽,填充空格。

更新:

或者以Eelvex的风格:

({. , 2&":&#) /. ~ y

这里有一些可能是新的元素。使用append(,)而不是stitch(,.),因为key(/.)的每个结果都是单独生成的,我们并没有并排放置两个数组,而是创建一个大排一次一行。