考虑一下表达式(1 2 3),¨(4 5 6)。我期望这样做“将(1 2 3),操作映射到4、5和6中的每一个,并给出答案如下:
(1 2 3),¨(4 5 6)
= (1 2 3),¨((4) (5) (6)) [Using (x) = x]
= (((1 2 3), 4) ((1 2 3), 5) ((1 2 3), 6)) [Using definition of map]
= ((1 2 3 4) (1 2 3 5) (1 2 3 6))然而,这不是答案!在Dyalog APL中评估的答案是:
]display (1 2 3),¨(4 5 6)
┌→──────────────────┐
│ ┌→──┐ ┌→──┐ ┌→──┐ │
│ │1 4│ │2 5│ │3 6│ │
│ └~──┘ └~──┘ └~──┘ │
└∊──────────────────┘多么?这个答案背后的理由是什么?我的等式推理哪里出错了?我不正确的, (comma)和¨(map)心理模型是否还有更多我应该意识到的“问题”?
发布于 2020-03-06 14:25:07
发布于 2020-03-06 13:40:17
1 2 3,¨4 5 6 将1 2 3的每个元素与4 5 6的每个元素联系起来
1 2 3∘,¨4 5 6用1 2 3的每个元素缩短4 5 6
(2 2⍴⍳4),¨(2 2⍴⎕A)
┌───┬───┐
│1 A│2 B│
├───┼───┤
│3 C│4 D│
└───┴───┘
(2 2⍴⍳4)∘,¨(2 2⍴⎕A)
┌─────┬─────┐
│1 2 A│1 2 B│
│3 4 A│3 4 B│
├─────┼─────┤
│1 2 C│1 2 D│
│3 4 C│3 4 D│
└─────┴─────┘https://stackoverflow.com/questions/60564999
复制相似问题