这是一个计算J中数字的数字和的函数:
digitalSum =: +/@:("."0)@":
如果我使用b.
来查询此动词的等级,我会得到_ 1 _
,即无限。 (我们可以忽略二元情形,因为digitalSum
不是二元的。)
我希望这个动词的monadic等级为0,如b.
所报告的那样。我知道这样做的唯一方法是使用“垫片”,例如,
ds =: +/@:("."0)@": digitalSum =: ds"0
这很有效,但我想知道这是否是唯一的方法,或者是否还有其他我想念的东西。
澄清
我刚刚发现了如何改变由此定义的动词的等级:
digits =: 3 : 0 "0 "."0@": y )
在声明"0
后注意3 : 0
。你可以放任何你想要的副词或连词,它将作为一个整体应用于动词。很酷的东西!
答案 0 :(得分:1)
digitalSum =: (+/@:("."0)@":)"0
也是我定义它的方式。使用"
来改变排名是非常标准的,适用于带括号的默认列车。