1

我刚开始尝试学习 J 语言,但对以下内容感到困惑:

   1 2 +/@{ i.4
1 2
   +/ 1 2 { i.4
3

在 @ 的文档中说:“xu@vy ↔ uxv y”

我想我只是把一个词性误认为是另一个词性,但无法弄清楚

另外,我怎么知道一个名字是什么类型的演讲?

4

3 回答 3

4
   注意。ü b。0返回u 
   NB的秩。 动词的等级决定了它在时间
   NB 应用的参数。monadic + y适用于原子;二元x + y适用于原子对 
   + 乙。0
0 0 0
   注意。monadic  +/ y和 dyadic x +/ y适用于任何事物(无界等级)
   +/ b。0
_ _ _
   注意。monadic  { y适用于原子数组;
   注意。二元x { y适用于原子对和任何东西
   { b。0
1 0 _
   注意。u @v的等级为v
   +/@{ b. 0
1 0 _
   注意。因为1 2 { i.4 一次返回原子, +/对原子起作用
   +/-"0 [ 1 2 { i.4
1 2
   注意。u @: v有无界等级
   +/@:{ b. 0
_ _ _
   注意。+/一次适用于所有1 2 { i.4
   +/"_ [ 1 2 { i.4
3

   注意。隐性形式的机械翻译
   13 : '+/ x { y'
[:+/ {
于 2009-07-06T14:51:40.090 回答
2

在我的偏见中,维基百科有一篇关于等级的不错的文章,以及它在 J.

但要回答最初的问题,J 的跟踪工具有助于理解其语法的工作原理:

   require'trace'
   trace '1 2 +/@{ i.4'

这将引导您逐步完成解析过程,显示每个生产规则使用的单词以及每个生成规则的结果。

于 2011-04-15T18:19:17.630 回答
1

啊,我想我可能已经想通了,我需要使用@:而不是@

   1 2 +/@:{ i.4
3

这就是我想要的。我想我将不得不阅读更多关于排名的内容,这是@和@之间的唯一区别:

于 2009-07-01T17:15:19.867 回答