2

我一直在使用 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 中的每个元素执行此操作并获得仅包含字符向量的嵌套数组?

4

1 回答 1

2

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

如果您的 ⎕ML 已经 >0(请参阅状态栏),您可以简单地执行以下操作:TEST←∊HOLD

在线尝试!

于 2018-03-06T06:11:06.303 回答