繁体   English   中英

在J中设置用户定义动词的等级

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM