我想在一行中得到结果。我不需要新的维度
I want to get result in one line. I don't need new dimensions
(1:)`(3:)@.(1&=)"0 i.2
1 3
(1:,2:)`(3:)@.(1&=)"0 i.2
1 2
3 0
我想得到
1 2 3
没有新维度。没有零。
形状在 (1:)
和 (1:,2:)
之间变化很大。
$ 1: 'a'
$ 1 $ 1: 'a'
1
$ (1:,2:) 'a'
2
(1&$ 1:)`(1&$ 3:)@.(1&=)"0 i.2
1
3
可能有更好的方法,但根据我的想法,您正在生成长度不等的数组,应该将其装箱,然后您想将它们变成一个列表。
因此:
; ((1:,2:)`(3:))@.(1&=)"0&.> i.2
1 2 3
可以重构和改进的地方:
;@:((1:,2:)`(3:)@.(1&=)each) i.2
1 2 3
您可以使用 (1:,2:,3:) 'ignored argument'
来构成列表,但这并不能解决您使用 @.
的原因
如果您想合并形状不规则的结果,Dane 关于装箱中间结果然后清除结果列表的评论是相关的。 (这可能就是你在这里尝试的。)
(1:)`(3:)@.(1&=)"0 i.2
1 3
(1:,2:)`(3:)@.(1&=)"0 i.2
1 2
3 0
我想得到
1 2 3
没有新维度。没有零。
形状在 (1:)
和 (1:,2:)
之间变化很大。
$ 1: 'a'
$ 1 $ 1: 'a'
1
$ (1:,2:) 'a'
2
(1&$ 1:)`(1&$ 3:)@.(1&=)"0 i.2
1
3
可能有更好的方法,但根据我的想法,您正在生成长度不等的数组,应该将其装箱,然后您想将它们变成一个列表。
因此:
; ((1:,2:)`(3:))@.(1&=)"0&.> i.2
1 2 3
可以重构和改进的地方:
;@:((1:,2:)`(3:)@.(1&=)each) i.2
1 2 3
您可以使用 (1:,2:,3:) 'ignored argument'
来构成列表,但这并不能解决您使用 @.
如果您想合并形状不规则的结果,Dane 关于装箱中间结果然后清除结果列表的评论是相关的。 (这可能就是你在这里尝试的。)