Veröffentlicht am :
Makro CREATION_INTERNE

Makro _HEAD zur Listenbearbeitung

Dieser Code ist auch verfügbar auf: Français English Español
Das Makro `_HEAD` wurde entwickelt, um eine Zeichenkette zu verarbeiten, die als Liste von Elementen betrachtet wird. Es nimmt zwei Parameter entgegen: `arg1`, die zu verarbeitende Liste, und `split=`, das Trennzeichen für die Elemente (standardmäßig ein Leerzeichen). Es verwendet ein externes Makro `%_count` (nicht in diesem Skript enthalten), um die Größe der Liste zu bestimmen, und baut dann eine neue Zeichenkette auf, die alle Elemente der ursprünglichen Liste außer dem letzten enthält, getrennt durch das angegebene Trennzeichen. Dieses Makro ist nützlich für Unterauswahl- oder Transformationsoperationen von Textlisten.
Datenanalyse

Type : CREATION_INTERNE


Das Makro verbraucht keine Daten aus externen Dateien oder SASHELP-Bibliotheken. Es arbeitet ausschließlich mit als Argument übergebenen Zeichenketten und behandelt diese Argumente als interne Daten des Makros für Textmanipulationsoperationen.

1 Codeblock
MACRO DEFINITION
Erklärung :
Dieser Block definiert das Makro `%_head`. Es deklariert drei lokale Variablen (`i`, `j`, `k`) für seine interne Logik. Es verwendet das Makro `%_count`, um die Gesamtzahl der Elemente (`j`) in der Liste `arg1` unter Verwendung des Trennzeichens `split` zu bestimmen. Eine `%do`-Schleife durchläuft die Elemente von 1 bis zum vorletzten (`j-2`) und akkumuliert jedes Element sowie das Trennzeichen in der Variablen `k`. Schließlich wird das vorletzte Element der ursprünglichen Liste zu `k` hinzugefügt, ohne ein abschließendes Trennzeichen, was zu einer Zeichenkette aller Elemente außer dem letzten führt.
Kopiert!
1%macro _head(arg1, split=%str( ));
2 %local i j k;
3 %let j=%_count(&arg1, split=&split);
4 
5 %DO i=1 %to &j-2;
6 %let k=&k%scan(&arg1, &i, &split)&split;
7 %END;
8 
9 &k%scan(&arg1, &j-1, &split)
10%mend _head;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Copyright (c) 2001-2004 Rodney Sparapani. Verteilt unter den Bedingungen der GNU General Public License, Version 2 oder höher.