词汇表(Vocabulary)
《J 词典》(菜单 Help|Dictionary)是 J 的参考书,是您了解 J 的终极权威信息来源。你越早熟悉使用它越好,一个很好的开始方式就是查找迄今为止已经介绍过的元素。
按 F1 显示词汇表,然后点击一个元素跳转到条目。如果你在按住 Ctrl 键的同时按下 F1,你会得到上下文敏感的帮助。如果脱字符 ^
在 +
处,按 Ctrl+F1 会跳转到 +
条目。
在词汇表中,看一下 +
的那一行,这是第五行。这一行中的第一个条目是: + Conjugate • Plus
。其中单词 +
是一个动词,它的一元形式被称为 Conjugate(共轭),它的二元形式被称为 Plus(加)。在算术中,二元 +
的定义是加法。
一元形式的 +
很有意思。在数学中,复数的共轭是指实部保持不变而虚部则变为相反数。对实数而言,共轭没有影响,也就是它本身。而对复数而言,共轭改变了虚部的符号。J 语言直接支持复数,就如同支持整数或者实数一样。复数通过字母 j
来分隔实部和虚部。
int =. 23
+ int
23
float =. 23.5
+ float
23.5
imagine =. 2j3 NB. 实部是 2,虚部是 3
+ imagine NB. 改变虚部的符号
2j_3
许多元素都支持复数,所以《J 词典》必须记录它们,这意味着在有些说明中会稍微有一些额外的复杂性。如果你在你的应用中需要处理复数,那就正好。但是如果你是个初学者,不想关心复数,那么你必须要有足够的知识能够忽略这些部分,而不至于被分心或混淆。
我们来看看 +
在字典上的内容。页面的标题行左边给出了一元形式的名称 Conjugate,右边给出了二元形式的名称 Plus。元素 +
的正式名称是靠近中间的。+
号右边的 0 0 0
部分将在后面解释。
这个标题下面是两个框。左边的框里有一元形式的定义,右边的框里有二元形式的。然后页面下方继续进行常规的讨论和例子。
《J 词典》是一本简明、严谨、完整的参考书,适合最有经验的用户使用。这对于不懂的初学者来说,可能会有一定的难度。例如,在 +
的一般讨论和例题中,有相当多的关于复数的讨论,而没有一个仅仅是加几个整数的例子。对于有经验的用户来说很好,如果告诉他们如何加整数,他们会被侮辱,但对于真正的初学者来说,这对阅读来说是个挑战。你必须学习如何把那些太高级或与你目前的兴趣不相关的部分挑出来,而把注意力集中在那些有兴趣的部分。
进入词汇页面,看一看 +.
条目(第五行第二条),其中包含:+. Real/Imaginary • GCD (Or)
。这里有很多信息,同样,很多信息在早期阶段并不相关。我们来看看定义。
看一下左边的一元形式定义框,注意到它是针对复数的。将其归档,以备将来参考,但现在就先放过它。
标题的二元形式描述是:GCD (Or)
。这就给出了两个非正式的名称,GCD
和 Or
,这表示它可以用两种不同的方式使用。二元形式的定义在右边的框中。注意 GCD
代表最大公因数(至少在数学记忆中应该有印象)。接下来在定义部分你会发现,如果参数是布尔型(boolean
)的,那么 +.
就是逻辑或(OR
)函数。GCD
是将逻辑或函数的定义域扩展到非布尔型参数的实用扩展。这种对元素的定义域的扩展在 J 中很常见。现在,值得注意的是,+.
有这个更大的定义域,但也很容易将其限制在布尔参数上。
0 +. 0 NB. 0 or 0
0
0 +. 1
1
1 +. 0
1
1 +. 1
1
词条 +:
的页面中包含Double • Not-Or
。定义页面给出了相当简单的一元形式和二元形式的定义。
一元形式被称为翻倍(Double),它的作用和你所期望的一样。
+: 3
6
二元形式则代表逻辑或运算。
接下来又是一些对于 +.
和 +:
的一般讨论和例子。也许此刻的你尚不足以理解这些内容,但这里想说的是要知道如何浏览和获取相关信息。
在 ?
那一行之后还有一些内容,它们是由拉丁字母后面加点或者冒号拼写的。