在 APL 中使用带有 without 函数的 each 运算符
Using the each operator with the without function in APL
我有一个包含以下数据的嵌套数组:
┌→────────────────┐
│ ┌→────┐ ┌→────┐ │
│ │ABC12│ │DEF34│ │
│ └─────┘ └─────┘ │
└∊────────────────┘
我想删除每个数字,这样它看起来像这样:
┌→────────────┐
│ ┌→──┐ ┌→──┐ │
│ │ABC│ │DEF│ │
│ └───┘ └───┘ │
└∊────────────┘
我尝试将无函数 (~) 与每个运算符 (¨) 和右参数“0123456789”一起使用,但出现长度错误。我还尝试将每个数字放在自己的数组中,如下所示:
┌→────────────────────────────────────────┐
│ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ │
│ │0│ │1│ │2│ │3│ │4│ │5│ │6│ │7│ │8│ │9│ │
│ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ │
└∊────────────────────────────────────────┘
但这也导致了长度错误。任何帮助将不胜感激。
假设使用 Dyalog APL,您可以尝试 direct-function 从字符串中删除数字 (⎕D
),应用于数组中的每个字符串,例如
yourData
┌→────────────────┐
│ ┌→────┐ ┌→────┐ │
│ │ABC12│ │DEF34│ │
│ └─────┘ └─────┘ │
└∊────────────────┘
{⍵~⎕D}¨yourData
┌→────────────┐
│ ┌→──┐ ┌→──┐ │
│ │ABC│ │DEF│ │
│ └───┘ └───┘ │
└∊────────────┘
您要查找的是 set-subtracting ("without-ing") 每个数字的 整个 组 (⎕D
)。所以我们把数字集括起来作为一个整体作用于它:
'ABC12' 'DEF34'~¨⊂⎕D
┌→────────────┐
│ ┌→──┐ ┌→──┐ │
│ │ABC│ │DEF│ │
│ └───┘ └───┘ │
└∊────────────┘
注意这看起来很像你想要的:
Your data ('ABC12' 'DEF34'
) without (~
) each (¨
) of the whole (⊂
) set of digits (⎕D
).
我有一个包含以下数据的嵌套数组:
┌→────────────────┐
│ ┌→────┐ ┌→────┐ │
│ │ABC12│ │DEF34│ │
│ └─────┘ └─────┘ │
└∊────────────────┘
我想删除每个数字,这样它看起来像这样:
┌→────────────┐
│ ┌→──┐ ┌→──┐ │
│ │ABC│ │DEF│ │
│ └───┘ └───┘ │
└∊────────────┘
我尝试将无函数 (~) 与每个运算符 (¨) 和右参数“0123456789”一起使用,但出现长度错误。我还尝试将每个数字放在自己的数组中,如下所示:
┌→────────────────────────────────────────┐
│ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ │
│ │0│ │1│ │2│ │3│ │4│ │5│ │6│ │7│ │8│ │9│ │
│ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ │
└∊────────────────────────────────────────┘
但这也导致了长度错误。任何帮助将不胜感激。
假设使用 Dyalog APL,您可以尝试 direct-function 从字符串中删除数字 (⎕D
),应用于数组中的每个字符串,例如
yourData
┌→────────────────┐
│ ┌→────┐ ┌→────┐ │
│ │ABC12│ │DEF34│ │
│ └─────┘ └─────┘ │
└∊────────────────┘
{⍵~⎕D}¨yourData
┌→────────────┐
│ ┌→──┐ ┌→──┐ │
│ │ABC│ │DEF│ │
│ └───┘ └───┘ │
└∊────────────┘
您要查找的是 set-subtracting ("without-ing") 每个数字的 整个 组 (⎕D
)。所以我们把数字集括起来作为一个整体作用于它:
'ABC12' 'DEF34'~¨⊂⎕D
┌→────────────┐
│ ┌→──┐ ┌→──┐ │
│ │ABC│ │DEF│ │
│ └───┘ └───┘ │
└∊────────────┘
注意这看起来很像你想要的:
Your data (
'ABC12' 'DEF34'
) without (~
) each (¨
) of the whole (⊂
) set of digits (⎕D
).