APL Dyalog嵌套数组元素转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中分配它(以保持范围本地):TEST←{⎕ML←1 ⋄ ∊⍵}HOLD

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

Try it online!

以上是关于APL Dyalog嵌套数组元素转换的主要内容,如果未能解决你的问题,请参考以下文章

共享元素转换在父片段和子片段之间不起作用(嵌套片段)

APL:数组的元素替换和乘法

共享元素转换:活动到嵌套在另一个活动中的片段

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。

PHP遍历函数将单个数组转换为带有子元素的嵌套数组 - 基于父ID