想象一下,我在 J 中定义了以下名称:
m =: >: 一世。2 4 5
如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
我想创建一个等级为 1 的一元动词,该动词适用于此列表列表中的每个列表。它将加倍 ( +:
) 或将 1 ( >:
) 添加到列表中的每个备用项目。如果我们将此动词应用于第一行,我们会得到2 3 6 5 10
.
获取与每个项目交替的布尔值列表相当容易,例如,0 1 $~{:$ m
给我们0 1 0 1 0
。我想,啊哈!+:
我将使用`之类的东西,>: @.
后跟一些表达式,但我永远无法让它发挥作用。
有什么建议么?
更新
以下似乎可行,但也许它可以被 J pro 重构为更优雅的东西。
便便 =:单子定义 (($ y) $ 0 1 $~{:$ y) ((]+:)`(]>:) @.[)"0 y )