2 votes

Transformations d'éléments de tableaux imbriqués APL Dyalog

J'ai utilisé Dyalog APL pour un travail de classe et j'ai rencontré un problème de transformation de chaque élément d'un tableau imbriqué.

J'ai un tableau de caractères appelé HOLD qui contient un nombre variable de tableaux de 7 caractères. En utilisant une transformation fractionnée, je peux le transformer en un tableau imbriqué de tableaux imbriqués en lecture seule, mais j'ai besoin qu'ils soient des vecteurs de caractères.

Je peux transformer individuellement un élément en un vecteur de caractères avec l'opérateur MIX,

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

mais je n'arrive pas à le faire pour chaque élément en même temps.

Ma meilleure tentative ressemble à

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

mais cela semble laisser chaque élément comme un tableau de caractères en lecture seule. Comment puis-je effectuer cette opération sur chaque élément de HOLD en même temps et obtenir un tableau imbriqué de vecteurs de caractères uniquement ?

2voto

MBaas Points 960

Ce que vous cherchez, c'est le " enrôler "-primitif. Il faut ⎕ML pour être >0, donc je l'assigne dans une dfn (pour garder la portée locale) : TEST←{⎕ML←1 ⋄ ∊⍵}HOLD

Si votre ⎕ML est déjà >0 (cf. barre d'état ), vous pouvez simplement le faire : TEST←∊HOLD

Essayez-le en ligne !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X