在APL中将每个运算符与不带功能一起使用

问题描述

我有一个包含以下数据的嵌套数组:

┌→────────────────┐
│ ┌→────┐ ┌→────┐ │
│ │ABC12│ │DEF34│ │
│ └─────┘ └─────┘ │
└∊────────────────┘

我想从每个数字中删除数字,以使它看起来像这样:

┌→────────────┐
│ ┌→──┐ ┌→──┐ │
│ │ABC│ │DEF│ │
│ └───┘ └───┘ │
└∊────────────┘

我尝试将no函数(〜)与每个运算符(¨)和正确的参数'0123456789'一起使用,但出现长度错误。我还尝试过将每个数字放在自己的数组中,如下所示:

┌→────────────────────────────────────────┐
│ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ ┌→┐ │
│ │0│ │1│ │2│ │3│ │4│ │5│ │6│ │7│ │8│ │9│ │
│ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ │
└∊────────────────────────────────────────┘

但是这也会导致长度错误。任何帮助将不胜感激。

解决方法

假设使用Dyalog APL,您可以尝试使用直接函数,该函数将从字符串中删除数字(⎕D,例如,将其应用于数组中的每个字符串。

      yourData
┌→────────────────┐
│ ┌→────┐ ┌→────┐ │
│ │ABC12│ │DEF34│ │
│ └─────┘ └─────┘ │
└∊────────────────┘
      {⍵~⎕D}¨yourData
┌→────────────┐
│ ┌→──┐ ┌→──┐ │
│ │ABC│ │DEF│ │
│ └───┘ └───┘ │
└∊────────────┘
,

您要查找的是对每个数字(⎕D)的数字( 'ABC12' 'DEF34'~¨⊂⎕D ┌→────────────┐ │ ┌→──┐ ┌→──┐ │ │ │ABC│ │DEF│ │ │ └───┘ └───┘ │ └∊────────────┘ )进行集减(“ outing-inging”)。因此,我们将数字集括起来作为一个整体对其进行操作:

'ABC12' 'DEF34'

Try it online!

请注意,该内容的显示方式非常符合您的要求:

您的数据(~)不包含(¨)整个数字()中的每个⎕D中的每个HomeCard。 / p>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...