j - 适合连词 (!.) 应用于扩展

标签 j

是否可以使用 !.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/

相关文章:

j - 二元组 `=` 对盒装字符串有何作用?

j - 如何在构建新列表时跳过某个元素?

linux - 为J语言安装JQt IDE,报错

python - 从 J 调用 Python

j - 在 J 中制作范围动词

J 从文件中读取大量数据作为扩展整数

j - 将动词应用于特定索引处的盒装列表的内容

j - 在 J 中使用符号而不是字符串的启发式

matrix - 使用 J 查找 4 个邻居

arrays - 如何访问盒装数组的第n列?