前のページ|次のページ

%SYMLOCAL関数

マクロ変数のスコープがローカルであるかどうかを示す値を返します。

種類: マクロ関数

構文

%SYMLOCAL(macro-variable-name)

必須引数

macro-variable-name

マクロ変数名か、またはマクロ変数名を生成するテキスト式を指定します。

詳細

%SYMLOCAL関数は、かっこで囲まれたスコープを検索して同じ名前のマクロ変数が存在するかどうかを調べ、そのマクロ変数がグローバルシンボルテーブル内に存在する場合は値1を返し、それ以外の場合は0 >を返します。グローバル/ローカルシンボルテーブルやマクロ変数のスコープに関する詳細については、マクロ変数のスコープを参照してください。

例: %SYMLOCALマクロ関数の使用

次の例では、%IF %THEN %ELSEマクロステートメントを使用して、%SYMGLOBL関数が返す値1および0を、それぞれTRUEおよびFALSEに変換しています。
%global x;
%macro test;
    %local y;
        %if %symlocal(x) %then %put %nrstr(%symlocal(x)) = TRUE;
                         %else %put %nrstr(%symlocal(x)) = FALSE;
        %if %symlocal(y) %then %put %nrstr(%symlocal(y)) = TRUE;
                         %else %put %nrstr(%symlocal(y)) = FALSE;
        %if %symlocal(z) %then %put %nrstr(%symlocal(z)) = TRUE;
                         %else %put %nrstr(%symlocal(z)) = FALSE;
%mend test;
%test;
前述のプログラムを実行すると、次の行がSASログに書き込まれます。
%symlocal(x) = FALSE %symlocal(y) = TRUE %symlocal(z) = FALSE
前のページ|次のページ|ページの先頭へ