![](/img/trans.png)
[英]How can I define a verb in J that applies a different verb alternately to each atom in a list?
[英]Setting the rank of a user-defined verb in J
这是一个计算J中数字的数字和的函数:
digitalSum =: +/@:("."0)@":
如果我使用b.
查询此动词的等级,我得到_ 1 _
,即无穷大。 (由于digitalSum
不是二进位的,所以我们可以忽略二进位的情况。)
我希望此动词的单调等级为0,如b.
。 我唯一知道的方法是使用“垫片”,例如
ds =: +/@:("."0)@": digitalSum =: ds"0
这很好用,但是我想知道这是否是唯一的方法,或者我是否缺少其他东西。
澄清
我刚刚发现了如何更改这样定义的动词的等级:
digits =: 3 : 0 "0 "."0@": y )
请注意,在声明3 : 0
"0
之后出现"0
您可以放任何希望的副词或连词,它将作为整体应用于动词。非常棒的东西!
digitalSum =: (+/@:("."0)@":)"0
也是我定义它的方式。 使用"
更改等级是相当标准的,并且可以在带括号的默认火车上使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.