arrays - APL Dyalog 嵌套数组元素转换

标签 arrays vector nested apl dyalog

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

最佳答案

您正在寻找的是“enlist ”基元。它需要 ⎕ML >0,所以我将其分配在 dfn 中(以保持范围本地): 测试←{⎕ML←1 ⋄∊⍵}保持

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

Try it online!

关于arrays - APL Dyalog 嵌套数组元素转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49123110/

相关文章:

python - numpy中十进制整数数组到二进制数组的矢量化转换

c++ - 将 vector 幅度减小特定长度的有效方法?

ios - 将嵌套字典写入 plist 时的类型问题 (Swift)

javascript - Joi验证: How to make values in nested json optional?

ruby-on-rails - 序列化时无法将空数组保存到数据库

C# 相当于 Delphi High() 和 Low() 函数,用于保持性能的数组?

c - 在二维数组中找到最大的簇

c++ - 从文件 C++ 中保存和读取双 vector

c++ - SSE 内联汇编和可能的 g++ 优化错误

wpf - 嵌套对象更改时更新绑定(bind)