身份函数(用于分叉,例如)

Identity function (for use in forks, eg)

考虑:

(i. 5) */ (i. 5)

产生:

0 0 0  0  0
0 1 2  3  4
0 2 4  6  8
0 3 6  9 12
0 4 8 12 16

是否有恒等函数,例如,允许我用叉子写出该表达式,而无需重复 (i. 5)

编辑

我在下面回答了我自己的问题,但幸运地得到了答案。如果有人可以提供有关“按功能”或按关键字搜索 J 文档的建议,我将不胜感激。在这种情况下,最好在文档搜索中输入“身份”,并建议使用“自反”运算符。

"Reflexive" 运算符 ~,记录在案 here,正是我要找的:

*/~ i.5

一般来说(来自上面的文档),

u~ y ↔ y u y . For example, ^~ 3 is 27, and +/~ i. n is an addition table. 

从 J homepage 和您偶然发现的大致结果有一条路径(但很复杂)。

  1. 首先在主页的搜索框中输入'idendity'
  2. 注意第二个结果提到了一个叫做 "table"
  3. 的东西
  4. return 到搜索框并搜索 table
  5. 关注 link 结果 D. Function Tables
  6. 注意副词 a8=: ft=: 1 : 'x/~@i.' NB. function table

诚然,从 A 点到 B 点需要一点运气和坚持,某种文档搜索将是对 J 的一个受欢迎的补充,特别是因为大多数术语很难使用普通搜索引擎。

您确实可以在分叉中使用 j 的身份函数来实现您要求的结果。反射副词更简洁,但那不是叉子。

这是您最初指定的实现:

   ([*/]) i. 5
0 0 0  0  0
0 1 2  3  4
0 2 4  6  8
0 3 6  9 12
0 4 8 12 16

A google search site:jsoftware.com identity 可能对你有用,因为你已经理解了分叉。