Das Makro `_absPath` nimmt zwei Parameter entgegen: `i_root` (ein optionaler Stammverzeichnis-Pfad) und `i_path` (der zu überprüfende Pfad). Zuerst werden alle Pfadtrennzeichen auf '/' normalisiert. Wenn `i_path` leer ist, tut das Makro nichts. Wenn `i_path` nicht absolut ist (nicht mit '/' beginnt oder kein ':/' nach einem potenziellen Laufwerksbuchstaben enthält) und ein `i_root` bereitgestellt wird, erstellt es einen absoluten Pfad durch Verketten von `i_root` und `i_path`. Es stellt außerdem sicher, dass `i_root` nicht mit einem '/' endet.
Datenanalyse
Type : AUCUNE
Das Makro verarbeitet keine Daten aus externen Quellen, von SASHELP oder intern erstellte Daten. Es manipuliert Zeichenketten (Pfade), die als Makroparameter übergeben werden.
1 Codeblock
MACRO _absPath
Erklärung : Dieser Block definiert das Makro `_absPath`. Es beginnt damit, zu überprüfen, ob der Parameter `i_path` leer ist; wenn ja, wird das Makro beendet. Wenn `i_root` anschließend nicht leer ist, normalisiert es `i_root`, indem es umgekehrte Schrägstriche `\` durch Schrägstriche `/` ersetzt und alle abschließenden Schrägstriche entfernt, um doppelte Schrägstriche bei der Verkettung zu vermeiden. Der Parameter `i_path` wird ebenfalls auf die gleiche Weise normalisiert. Schließlich überprüft das Makro, ob `i_path` bereits ein absoluter Pfad ist (beginnend mit `/` oder `:/`). Wenn dies der Fall ist, gibt es `i_path` unverändert zurück. Andernfalls, wenn `i_root` nicht leer ist, verkettet es `i_root` und `i_path` mit einem Schrägstrich. Wenn `i_root` leer ist und `i_path` nicht absolut ist, gibt es den unveränderten `i_path` zurück.
Kopiert!
/**
\file
\ingroup SASUNIT_UTIL
\brief check whether &i_path is absolute or empty. If not, append to &i_root.
\version \$Revision$\n \author \$Author$\n \date \$Date$\n
\sa For further information please refer to https://github.com/HMS-Analytical-Software/SASUnit/wiki/User%27s%20Guide/
Here you can find the SASUnit documentation, release notes and license information.
\sa \$HeadURL$\n \copyright Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de
This file is part of SASUnit, the Unit testing framework for SAS(R) programs.
For copyright information and terms of usage under the GNU Lesser General Public License see included file README.md
or https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.
\param i_root optional: root path
\param i_path path to be checked
\return modified path
*/ /** \cond */
%MACRO _absPath (i_root
,i_path
);
%IF "&i_path" EQ "" %THEN %RETURN;
%IF %length(&i_root) %THEN %DO;
%LET i_root = %qsysfunc(translate(&i_root,/,\));
%IF "%substr(&i_root,%length(&i_root),1)" = "/" %THEN
%LET i_root=%substr(&i_root,1,%eval(%length(&i_root)-1));
%END;
%LET i_path = %qsysfunc(translate(&i_path,/,\));
%IF "%substr(&i_path,1,1)" = "/" OR "%substr(&i_path,2,2)" = ":/" %THEN &i_path;
%ELSE %IF %length(&i_root) %THEN &i_root/&i_path;
%ELSE &i_path;
%MEND _absPath;
/** \endcond */
1
/**
2
\file
3
\ingroup SASUNIT_UTIL
4
5
\brief check whether &i_path is absolute or empty. If not, append to &i_root.
6
7
\version \$Revision$
8
\author \$Author$
9
\date \$Date$
10
11
\sa For further information please refer to https://github.com/HMS-Analytical-Software/SASUnit/wiki/User%27s%20Guide/
12
Here you can find the SASUnit documentation, release notes and license information.
13
\sa \$HeadURL$
14
\copyright Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de
15
This file is part of SASUnit, the Unit testing framework for SAS(R) programs.
16
For copyright information and terms of usage under the GNU Lesser General Public License see included file README.md
17
or https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.
%IF"%substr(&i_path,1,1)" = "/" OR "%substr(&i_path,2,2)" = ":/" %THEN &i_path;
38
%ELSE %IF %LENGTH(&i_root) %THEN &i_root/&i_path;
39
%ELSE &i_path;
40
41
%MEND _absPath;
42
/** \endcond */
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 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.