条件付き処理 (DEFINE-!ENDDEFINE コマンド)
!IF 構成体は、処理の条件を指定します。 構文は次のとおりです。
!IF (expression) !THEN statements
[!ELSE statements]
!IFEND
!IF、!THEN、および!IFENDはすべて必須です。!ELSEはオプションです。- 式の結果が真の場合、
!THENの後のステートメントが実行されます。 式の結果が false で、!ELSEが指定されている場合、!ELSEの後のステートメントが実行されます。 それ以外の場合、プログラムは続行されます。 - 式に有効な演算子には、
!EQ、!NE、!GT、!LT、!GE、!LE、!OR、!NOT、および!AND、または =、~ = (¬ =)、>、<、> =、< =、|、~ (¬)、および&があります。 - マクロが展開されると、引数が置換され、関数が実行された後に、条件付き処理構文が解釈されます。
!IFステートメントは、必要に応じていつでもネストすることができます。 括弧を使用して、評価の順序を指定することができます。 デフォルトの順序は変換の場合と同じです。!NOTは!ANDよりも優先され、は!ORよりも優先されます。
例
DEFINE mymacro(type = !DEFAULT(1) !TOKENS(1))
!IF (!type = 1)!then
frequencies variables=varone.
!ELSE
descriptives variables=vartwo.
!IFEND
!ENDDEFINE.