是否可以使用 !.
为 expand
指定默认值,适合连词?通常,可以为 #
指定默认填充值,但是 #^:_1
呢?
例如,类似的东西
empty =. <0 0$''
r =. 0 1 0 1 expand!.empty 'foo';'bar' NB. Actually a domain error
++---+---++
||foo|bar||
++---+---++
$ each r
+---+-+-+---+
|0 0|3|3|0 0|
+---+-+-+---+
我试过的所有方法都会引发域错误:
expand!.empty
#^:_1!.empty
#!.empty^:_1
(#!.empty)^:_1
最佳答案
是的:
0 1 0 1 expand f.!.empty 'foo';'bar' NB. with f. works fine
++---++---+ ||foo||bar| ++---++---+
诀窍是匿名使用f.
或#^:_1
,以便!.
看到#^:_1
作为它的左参数,而不是 expand
。 Fit 并不像它应该的那样聪明。
关于j - 适合连词 (!.) 应用于扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5279219/