APL Dyalog嵌套数组元素转换

问题描述 投票:2回答:1

我一直在使用Dyalog APL进行类分配,并且我在转换嵌套数组的每个元素时遇到了一个问题。

我有一个名为HOLD的字符数组,其中包含可变数量的7个字符长的数组。使用拆分转换我可以把它变成嵌套的只读嵌套数组,但是我需要它们作为字符向量。

我可以使用MIX运算符将元素单独更改为字符向量,

TEST←↑HOLD[1]  ⍝Test will be a character vector

但我似乎无法同时对每个元素这样做。

我最好的尝试看起来像

TEST←↑¨HOLD ⍝Test will be a nested array, seemingly identical to hold

但这似乎将每个元素保留为只读字符数组。如何同时对HOLD中的每个元素执行此操作,并获得仅包含字符向量的嵌套数组?

arrays vector nested apl dyalog
1个回答
2
投票

您正在寻找的是“enlist”原型。它要求⎕ML> 0,所以我在dfn中分配它(以保持范围本地):TEST←{⎕ML←1 ⋄ ∊⍵}HOLD

如果你的⎕ML已经> 0(见status bar),你可以简单地做:TEST←∊HOLD

Try it online!

© www.soinside.com 2019 - 2024. All rights reserved.