首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >x的语义学,APL中的y:也就是说,在APL中映射一个连体是什么意思?

x的语义学,APL中的y:也就是说,在APL中映射一个连体是什么意思?
EN

Stack Overflow用户
提问于 2020-03-06 13:23:10
回答 2查看 145关注 0票数 1

考虑一下表达式(1 2 3),¨(4 5 6)。我期望这样做“将(1 2 3),操作映射到456中的每一个,并给出答案如下:

代码语言:javascript
复制
(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中评估的答案是:

代码语言:javascript
复制
     ]display (1 2 3),¨(4 5 6) 
┌→──────────────────┐
│ ┌→──┐ ┌→──┐ ┌→──┐ │
│ │1 4│ │2 5│ │3 6│ │
│ └~──┘ └~──┘ └~──┘ │
└∊──────────────────┘

多么?这个答案背后的理由是什么?我的等式推理哪里出错了?我不正确的, (comma)¨(map)心理模型是否还有更多我应该意识到的“问题”?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-06 14:25:07

,是一个对称函数,它简单地将其参数连在一起。

¨也是对称的,它将来自左、右的元素配对。

根据APL的标量扩张规则,作为参数的单个元素被分发到与来自另一个参数的所有元素配对。

您说的是(1 2 3),操作,但是没有这样的操作。如果您尝试给这个“函数”命名,它将在SYNTAX ERROR中失败。

但是,您可以创建一个函数,该函数接受它的参数并将其附加到1 2 3中作为理查德·帕克1 2 3∘,,然后您可以用1 2 3∘,¨将该函数映射到数组的元素上。

票数 1
EN

Stack Overflow用户

发布于 2020-03-06 13:40:17

代码语言:javascript
复制
1 2 3,¨4 5 6 

1 2 3的每个元素与4 5 6的每个元素联系起来

代码语言:javascript
复制
1 2 3∘,¨4 5 6

1 2 3的每个元素缩短4 5 6

代码语言:javascript
复制
      (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│
└─────┴─────┘
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60564999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档