DEFINE-!ENDDEFINE

DEFINE—!ENDDEFINE は、コマンド・シーケンス内で使用できるプログラム・マクロを定義します。

DEFINE macro name 

 ([{argument name=} [!DEFAULT (string)] [!NOEXPAND] {!TOKENS  (n)             }]
   {!POSITIONAL=  }                                 {!CHAREND ('char')        }
                                                    {!ENCLOSE ('char', 'char')}
                                                    {!CMDEND                  }

 [/{argument name=} ...])
   {!POSITIONAL=  }

macro body

!ENDDEFINE

SET コマンドは以下を制御します。

PRESERVE
RESTORE

割り当て:

!LET var=expression

条件付き処理:

!IF (expression) !THEN statements
    [!ELSE statements]
!IFEND

ループ構成体:

!DO !varname=start !TO finish [!BY step]
   statements  [!BREAK]
!DOEND
 
!DO !varname !IN (list)
   statements  [!BREAK]
!DOEND

マクロ・ディレクティブ:

!OFFEXPAND 
!ONEXPAND 

ストリング処理関数:

!LENGTH (string) 
!CONCAT (string1,string2)
!SUBSTR (string,from,[length]) 
!INDEX (string1,string2) 
!HEAD (string) 
!TAIL (string) 
!QUOTE (string) 
!UNQUOTE (string) 
!UPCASE (string) 
!BLANKS (n) 
!NULL 
!EVAL (string) 

リリース履歴

リリース 14.0

  • 対話モードで処理されるシンタックスの場合、マクロ機能に対する変更は、コマンドの終了時に発生するマクロ呼び出しに影響を与える可能性があります。

DEFINE sesvars ()
  age sex educ religion
!ENDDEFINE.