8.27.6 *IS演算子と*ISNOT演算子

LANSA

8.27.6 *IS演算子と*ISNOT演算子


*IS演算子と*ISNOT演算子は、コンポーネント参照変数のタイプをテストするときに使用できます。以下は、これらの演算子の構文を示したコード・フラグメントです。

#Variable1 *IS #ClassName
#Variable2 *ISNOT *NULL
 

*IS演算子は、指定されている変数のクラスをテストして、その変数またはその祖先のタイプが、クラス名で指定されているタイプと一致するかどうかをチェックします。

*ISNOT演算子は、指定されている変数のクラスをテストして、その変数またはその祖先のタイプが、クラス名で指定されているタイプと一致しないかどうかをチェックします。

これらの演算子は、変数がNULL参照であるかどうかをテストするときにも使用できます。

以下は、*IS演算子と*IS演算子の使用法を示したコード・フラグメントです。

...
DEFINE_COM CLASS(#DEPTMENT) NAME(#DEPARTMENT)
SET COM(#COM_OWNER) PSCENARIO('if cond(#DEPARTMENT *IsNot *null))')
SET COM(#PASS) VALUE(FALSE)
IF COND(#DEPARTMENT *IsNot *null)
SET COM(#PASS) VALUE(TRUE)
ENDIF

SET COM(#COM_OWNER) PSCENARIO('if (#DEPARTMENT *IS #DEPTMENT)')
 (#ReferenceOne.Left <= 0))
SET COM(#PASS) VALUE(FALSE)
IF (#DEPARTMENT *Is #DEPTMENT)
SET COM(#PASS) VALUE(TRUE)
ENDIF

IF (((#DEPARTMENT *IsNot *null) *AndIf (#DEPARTMENT *Is #DEPTMENT)) *OrIf (#ADDRESS1 *Is *null))
SET COM(#PASS) VALUE(TRUE)
ENDIF
...
 

参照

式の機能強化