4D v16.3

OB Is defined

ホーム

 
4D v16.3
OB Is defined

OB Is defined 


 

OB Is defined ( object {; property} ) -> 戻り値 
引数   説明
object  Object, Object Field in 構造化されたオブジェクト
property  テキスト in 指定時にはプロパティをチェック、省略時にはオブジェクトをチェック
戻り値  ブール in property 省略時:object が定義済みの場合はTrue を、それ以外は False を返す property 指定時:property が定義済みの場合はTrue を、それ以外は False を返す

説明   

OB Is definedコマンドは、object または property が定義済みである場合にはTrueを返し、それ以外の場合にはFalseを返します。

object 引数で指定するオブジェクトは、 C_OBJECT コマンドを使用して作成されている、あるいはオブジェクトフィールドが選択されている必要があります。

property 引数を省略した場合、コマンドは object が定義済みかどうかを調べます。オブジェクトの中身が初期化されていれば定義済みであるとみなされます。

注: 定義済みのオブジェクトでも空である場合もあります。オブジェクトが空もしくは未定義であるかどうかを調べる場合には、 OB Is empty コマンドを使用して下さい。

property 引数を渡した場合、コマンドは指定されたプロパティが object 内に存在するかどうかをチェックします。property 引数では、大文字と小文字は区別されることに注意して下さい。

オブジェクトの初期化を調べる記法:

 C_OBJECT($object)
 $def:=OB Is defined($object// $object は未定義なので$def=false
 
 OB SET($object;"Name";"Martin")
 OB REMOVE($object;"Name")
 $def2:=OB Is defined($object// $object は空({})ではあるものの定義済みなので$def2=true

プロパティが存在しているかどうかを調べます:

 C_OBJECT($ref)
 OB SET($ref;"name";"smith";"age";42)
  //...
 If(OB Is defined($ref;"age"))
  //...
 End if

このテストは以下のコマンドと同等です:

 If(OB Get type($Object;"name")#Is undefined)



参照 

OB Is empty

 
プロパティ 

プロダクト: 4D
テーマ: オブジェクト(ランゲージ)
番号: 1231

This command can be run in preemptive processes

 
履歴 

初出: 4D v14
変更: 4D v15

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)