|
1
10
试着先把动词分成不同的成分,然后看看它们是怎么做的。不必总是引用vocab,您可以简单地在数据上尝试一个组件,看看它做了什么,看看您是否能找到它。要了解动词的结构,就要知道你在看什么词类,以及如何识别像forks这样的基本结构(当然,在较大的隐性结构中,用括号隔开)。只需在ijx窗口中键入动词并按enter键,也可以分解结构,可能会有所帮助。
在这里你可以看到动词的结构(或者,你习惯了看这些之后就可以看到了)。然后,如果你不能识别这些片段,就和它们一起玩,看看它们能做什么。
你可以进一步分解它们,并根据需要进行实验来找出它们(这个小例子是一个中间动词)。 J将大量代码打包成几个字符,大的默认动词看起来非常吓人,即使对有经验的用户也是如此。实验将比你的文档化方法更快,而且你可以通过尝试分解大型复杂动词来学习很多关于J的知识。我想我建议你集中精力去看语法结构,然后找出其中的部分,一步一步地建立起来(因为你最终会这样写默契动词)。 |
![]() |
2
11
只是想增加
Jordan's Answer
还有一个树显示:
有关详细信息,请参见词汇表页 5!: Representation 还有 9!: Global Parameters 另外,为了更好地阅读J,我自己的阅读方法是用手重新键入表达式,从右到左构建表达式,并在需要时查找片段,使用标识函数形成临时序列。 例如:
附录:
|
![]() |
3
3
(我把这个放在答案部分而不是编辑问题,因为问题看起来足够长。) 我刚在网上找到一篇优秀的论文 the jsoftware website 结合乔丹的回答和我在问题中描述的方法,这个方法很有效。作者提出了一些中肯的意见: 1) 副词修饰的动词是动词。
这加快了将默认表达式翻译成英语的过程,因为它可以让您将动词和副词分组为概念单位,然后使用嵌套的fork结构快速确定操作符的实例是一元还是二元的。下面是一个我使用精化方法进行翻译的例子:
|
![]() |
4
1
通过阅读这里的处方,我得到了这样一个想法:这与其他人使用语言的方式没有太大区别。
|
![]() |
5
1
我只想谈谈我是如何阅读的: <@-:@{/:~ 首先,我知道如果它是一个函数,那么从命令行,它必须作为
现在我看看括号里的东西。我看到一个/:~,它返回参数的排序列表,{它从列表中选择一项,#它返回列表中的项数,-:half和<。,地板…我开始认为它可能是中位数,-列表中项目数的一半向下舍入,但是#如何得到它的论点?我看了看@符号,意识到那里有三个动词,所以这是叉子。列表在右边,经过排序,然后在左边,fork把列表放到#上,得到参数的数目,然后我们知道它占了一半。现在我们有了执行顺序:
以列表中元素数量的一半为基础,这就成为中间动词的左参数。 做中间的动词。 这是我的方法。我同意有时短语有太多奇怪的东西,你需要查找它们,但我总是在J instant命令行中找出这些东西。 |
![]() |
Gregory Higley · 如何在J中重复表达式的求值? 7 年前 |
![]() |
Kevin Choi · 将csv文件导入J并将其用作变量 7 年前 |
![]() |
Anne · 如何在J中编写具有3个以上参数的函数? 7 年前 |
![]() |
Jonah · 将副词应用于动名词列表 7 年前 |
![]() |
dukereg · J句从二元到一元的转换 7 年前 |