小ネタ:%putに_readonly_と_writable_が追加されてるなぁ

本来、以前の記事といっしょに挙げようと思っていて忘れていた話。

9.4M3でreadonlyが追加されたことを受けて、%putの指定で、
読み取り専用のマクロ変数を出力する_readonly_と、逆に
上書き可能なマクロ変数を出力する_writable_が追加されている。

_global_ _local_ _user_と_all_ _automatic_も復習しておくと

%global A;
%global B;
%global  /readonly C=1 ;

%macro m1;
%local A;
%local D;
%local /readonly E=1 ;

%put *===_global_===*;
%put _global_;

%put *===_local_===*;
%put _local_;

%put *===_user_===*;
%put _user_;

%put *★===_readonly_===*;
%put _readonly_;

%put *★===_writable_===*;
%put _writable_;

/*===_all_はたくさん出るから割愛===*/
/*%put _all_;*/

/*===_automatic_はたくさん出るから割愛===*/
/*%put _automatic_;*/

%mend;

%m1

結果は

*===_global_===*
GLOBAL A
GLOBAL B
GLOBAL C 1
*===_local_===*
M1 A
M1 D
M1 E 1
*===_user_===*
M1 A
M1 D
M1 E 1
GLOBAL A
GLOBAL B
GLOBAL C 1
*★===_readonly_===*
M1 E 1
GLOBAL C 1
*★===_writable_===*
M1 A
M1 D
GLOBAL A
GLOBAL B



みたいな感じ

0 件のコメント:

コメントを投稿