在火车上避免重复动词名(Avoiding a repeated verb name in a tra

2019-09-30 17:53发布

考虑一个二进动词g ,在一个二进动词来定义f

g=. [ f&.|: f

是否有可能重写g使得f项中只出现一次,但行为是不变的?

UPDATE:本地上下文

这个问题来到了我的解决方案的一部分这个问题 ,在像这样两个方向,其“膨胀”的矩阵:

原始矩阵

1 2 3
4 5 6
7 8 9

扩展矩阵

1 1 1 1 2 3 3 3 3
1 1 1 1 2 3 3 3 3
1 1 1 1 2 3 3 3 3
1 1 1 1 2 3 3 3 3
4 4 4 4 5 6 6 6 6
7 7 7 7 8 9 9 9 9
7 7 7 7 8 9 9 9 9
7 7 7 7 8 9 9 9 9
7 7 7 7 8 9 9 9 9

我的解决办法是先扩大矩阵的行使用:

f=. ([ # ,:@{.@]) , ] , [ # ,:@{:@]

然后以应用转置下相同的解决方案,扩大已行扩大矩阵的列:

3 ([ f&.|: f) m

而且我注意到,这是不可能写我有做临时动词解f或重复其定义内联...

在线试用!

Answer 1:

了解上下文帮助。 您也可以使用此办法(|:@f)^:(+: x) y 。 甲隐性(和golfed)解决方案将是0&(|:{.,],{:)~+:

   (>: i. 3 3) (0&(|:{.,],{:)~+:) 2
1 1 1 2 3 3 3
1 1 1 2 3 3 3
1 1 1 2 3 3 3
4 4 4 5 6 6 6
7 7 7 8 9 9 9
7 7 7 8 9 9 9
7 7 7 8 9 9 9


Answer 2:

我不认为这是可能的。 右齿将是结果xfy和左齿是x中间齿将转和应用f的论点,然后转结果返回。 如果采取正确的f出来那么就没有办法有xfy ,如果中间f被删除的时候你没有f应用到转置。

我的猜测是,你正在寻找一个原始的,将完成相同的结果只有一个一提的f ,但我不知道的人。

了解歼社区有人会证明我错了!



文章来源: Avoiding a repeated verb name in a train
标签: j