2014年8月18日月曜日

*** コメントステートメントの落とし穴 ***;



以下のプログラムを実行してみます。

%macro MAC;
   *  %put  あいうえお ;
%mend;

%MAC;

ログ
あいうえお


%put あいうえお ;」の部分を実行したくないので、「*」を先頭に入れてコメントにしています。
ですが、ログを見てみると「あいうえお」と出力されてしまいます。


実はマクロ内で、「*  コメント  ;」という形式でコメントにしても、マクロステートメントやマクロ変数は、マクロ機能により処理されてしまうようです。


これを回避したい場合は、「/*  コメント  */」の書式で書けばok

/*  %put  あいうえお ; */



ちなみに、この書き方にも注意点があるようなので、詳細は以下記事を要チェック。



2 件のコメント:

  1. *に対応するマクロ中のコメント文は%*を使うことができるので、私はよく
    %*%put あいうえお ;
    等としてコメント化しています。

    返信削除
  2. コメントありがとうございます。
    勉強になります!!

    返信削除