> Tech > Matrices de structures de données

Matrices de structures de données

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Une matrice de structure de données est une matrice autonome qui contient un certain nombre d’éléments, chacun comme une structure de données :

d item s like( item )
d dim( 99 )

La matrice ITEMS contient 99 éléments comme la structure de données ITEM.
Cependant, il

n’y a pas de sous-champs ID et DESC dans la matrice. La matrice est initialisée avec des blancs à l’exécution. Pour éviter des erreurs de données décimales lors du référencement de la zone ITEM.ID d’un élément, vous devez initialiser explicitement la matrice :

clear item;
items = item;

Vous devez utiliser un index et une structure de données pour accéder aux composantes d’un élément de matrice :

item = items( idx );
id = item.id;

Vous pouvez trier la matrice :

sorta items;

et consulter les éléments, à la condition de spécifier les valeurs des deux sous-champs de la structure de données ITEM :

item.id = 123;
item.desc = ‘WIDGET’;
idx = %lookup( item: items );

Il est un peu plus compliqué de consulter un ITEM.ID dans la matrice. Il faut d’abord ajouter le mot-clé ASCEND à la définition de matrice et définir une structure de données pour contenir la clé pour la consultation :

d items s like( item )
d dim( 99 )
d ascend
d key ds likeds( item )

Vous devez ensuite trier la matrice et utiliser %LOOKUPGE pour trouver une correspondance partielle sur un ITEM.ID :

sorta items;
clear key;
key.id = 123;
idx = %lookupge( key: items);
if idx > 0;
item = items( idx );
if key.id = item.id;
// found!
endif;
endif;

Téléchargez cette ressource

Préparer l’entreprise à l’IA et aux technologies interconnectées

Préparer l’entreprise à l’IA et aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010