前のページ|次のページ

%LETステートメント

マクロ変数を作成し、その変数に値を割り当てます。

種類: マクロステートメント
制限事項: マクロ定義またはオープンコードで使用可能
参照項目: %STR関数と%NRSTR関数

構文

%LET macro-variable =<value> ;

必須引数

macro-variable

マクロ変数名か、またはマクロ変数名を生成するテキスト式を指定します。この名前は、新規または既存のマクロ変数を参照します。

value

文字列またはテキスト式を指定します。valueを省略するとヌル値(長さがゼロの文字)が生成されます。valueの先頭および末尾にある空白は無視されます。これらの空白に意味がある場合、valueを%STR関数で囲みます。

詳細

%LETステートメントに指定したマクロ変数が、かっこで囲まれた任意のスコープ内にすでに存在していた場合、その%LETステートメントにより値が更新されます。%LETステートメントに指定したマクロ変数が存在しない場合、かっこで囲まれた任意のスコープ内にその変数が作成され、同変数に指定された値が割り当てられます。LETステートメントが一度に定義できるマクロ変数は1つだけです。

例: %LETステートメントの例

複数の%LETステートメントの使用例を次に示します。
%macro title(text,number);
    %put TITLE&number "&text";
%mend;
%let topic=  The History of Genetics  ; /* Leading and trailing */
                                        /* blanks are removed   */
%title(&topic,1)
%let subject=topic;                     /* &subject resolves    */
%let &subject=Genetics Today;           /* before assignment    */
%title(&topic,2)
%let subject=The Future of Genetics;    /* &subject resolves    */
%let topic= &subject;                   /* before assignment    */
%title(&topic,3)
これらのステートメントをサブミットすると、マクロTITLEにより次のステートメントが生成されます。
13   %macro title(text,number);
14       %put TITLE&number "&text";
15   %mend;
16   %let topic=  The History of Genetics  ;
17
18   %title(&topic,1)
TITLE1 "The History of Genetics"
19   %let subject=topic;
20   %let &subject=Genetics Today;
21   %title(&topic,2)
TITLE2 "Genetics Today"
22   %let subject=The Future of Genetics;
23   %let topic= &subject;
24   %title(&topic,3)
TITLE3 "The Future of Genetics"
前のページ|次のページ|ページの先頭へ