Veröffentlicht am :
Makro CREATION_INTERNE

Makro zur Versionsberechnung

Dieser Code ist auch verfügbar auf: English Español Français
Das Makro `AHGverCalc` wurde entwickelt, um einen Teil einer Versionszeichenkette inkrementell oder dekrementell zu ändern. Es akzeptiert zwei Parameter: `version` (eine Zeichenkette, typischerweise im Format 'X.Y') und `offset` (eine ganze Zahl). Das Makro extrahiert den ersten und zweiten Teil der `version`-Zeichenkette, wendet den `offset` auf den zweiten (kleineren) Teil an und stellt sicher, dass das Ergebnis nicht kleiner als 1 ist. Anschließend gibt es die neu formatierte Versionszeichenkette zurück. Dieses Makro ist nützlich für dynamische Versionsmanagement-Szenarien.
Datenanalyse

Type : CREATION_INTERNE


Das Makro verbraucht keine Daten aus externen Quellen oder SAS-Bibliotheken. Es arbeitet ausschließlich mit den ihm übergebenen Parametern (`version` und `offset`), die interne Daten für die Ausführung des Makros sind.

1 Codeblock
MACRO DEFINITION
Erklärung :
Dieser Block definiert das SAS-Makro `AHGverCalc`. Er beginnt mit einer Bedingungsprüfung, um sicherzustellen, dass, falls `offset` 0 ist, es für die Konsistenz der Operationen als -0 behandelt wird. Die lokalen Variablen `left` und `right` werden deklariert. Das Makro verwendet `%scan`, um den ersten und zweiten Teil der `version`-Zeichenkette zu extrahieren. `%eval` wird verwendet, um den `offset` auf den `right`-Teil anzuwenden. Es wird geprüft, ob der Wert von `right` nicht unter 1 fällt. Schließlich gibt es eine neue Zeichenkette zurück, die `left`, einen Punkt und den neuen Wert von `right` kombiniert.
Kopiert!
1%macro AHGverCalc(version,offset);
2 %IF &offset=0 %THEN %let offset=-0;
3 %local left right;
4 %let left=%scan(&version,1);
5 %let right=%eval(%scan(&version,2)&offset);
6 %IF &right <=0 %THEN %let right=1;
7 &left..&right
8 %mend;
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.