我刚开始尝试学习 J 语言,但对以下内容感到困惑:
1 2 +/@{ i.4
1 2
+/ 1 2 { i.4
3
在 @ 的文档中说:“xu@vy ↔ uxv y”
我想我只是把一个词性误认为是另一个词性,但无法弄清楚
另外,我怎么知道一个名字是什么类型的演讲?
我刚开始尝试学习 J 语言,但对以下内容感到困惑:
1 2 +/@{ i.4
1 2
+/ 1 2 { i.4
3
在 @ 的文档中说:“xu@vy ↔ uxv y”
我想我只是把一个词性误认为是另一个词性,但无法弄清楚
另外,我怎么知道一个名字是什么类型的演讲?
注意。ü 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'
[:+/ {
在我的偏见中,维基百科有一篇关于等级的不错的文章,以及它在 J.
但要回答最初的问题,J 的跟踪工具有助于理解其语法的工作原理:
require'trace'
trace '1 2 +/@{ i.4'
这将引导您逐步完成解析过程,显示每个生产规则使用的单词以及每个生成规则的结果。
啊,我想我可能已经想通了,我需要使用@:而不是@
1 2 +/@:{ i.4
3
这就是我想要的。我想我将不得不阅读更多关于排名的内容,这是@和@之间的唯一区别: