h1

3 angles de vue sur les commentaires

avril 24, 2008

Il existe trois notations différentes pour écrire des commentaires dans un programme SAS. Chacune à ses avantages et ses limites. En en prenant connaissance ici, vous pourrez faire des choix stratégiques.

1. Désactiver une instruction : un commentaire entre une étoile et un point virgule est la plus rapide des notations. Celle-ci fait usage de la particularité de la syntaxe SAS. En effet, chaque instruction se termine par un point-virgule. En ajoutant une étoile (asterisk) en tête, l’instruction est désactivée.

Lors du développement d’un programme, on est amené à suspendre certaines instructions ou à en activer ponctuellement. C’est le cas la procédure PROC PRINT, qui permet d’avoir un aperçu du contenu d’un jeu de donné. 

*proc print data=cnt_pct;
*run;

Note : On n’utilisera pas cette syntaxe étoile/point-virgule :

  • pour suspendre un large bloc de texte
  • si les guillemets ne sont pas fermés dans le commentaire
  • entre deux instructions PUT ou deux instructions CALL EXECUTE.

2. Désactiver un bloc de texte plus globales : L’étoile/point-virgule  peut-être incluse dans d’autres  commentaires plus larges définis pas /* */. Ainsi on peut choisir d’annoter des titres de rubriques d’un programme avec *; . Ainsi on pourra englober ces titres dans une zone de désactivation plus grande.

/*
*Calcul des fréquences;
proc freq…;
run;

*Générer une table;
proc report…;
run;
*/

Note : On pourra choisir de fermer le bloc par /***/ au lieu de */. Ainsi, en enlevant seulement le /* en début de commentaire, l’intégralité du code est réactivée et fonctionne sans que la notation de fin soit impérativement supprimée.

3. Les commentaires et le langage macro :

Les différences entre les instructions à l’intérieur et la l’extérieur d’une définition de macro : les instructions macro doivent avoir l’étoile après le symbole pourcentage à l’intérieur d’une définition de macro. On continuera à mettre l’étoile avant si l’instruction est à l’extérieur de la définition de macro. La notation /**/ ne rencontre pas de difficulté particulière.

%macro commentaires;
%*IF….;
%mend;
*%commentaires;

Le cas particulier des conditions : seul le /**/  peut-être utilisé entre un %if et un %else.

%macro commentaire;
   %IF … %THEN %DO; … %END;
 /* l’autre notation n’est pas possible ici*/ 
  %ELSE …
%mend commentaire;

Une macro sans nom : la troisième méthode pour écrire un commentaire est de créer une macro sans nom.

%macro;
Mon texte est inactif ici.
%mend;

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :