ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20 R7
Null

Null 


 

Null -> 戻り値 
引数   説明
戻り値  Null in Null値

説明   

Null は、Null 型の値null を返します。

この関数を使用すると、以下のランゲージ要素にnull 値を割り当てる、あるいはnull 値と比較することができます:

ランゲージ要素補足
オブジェクトプロパティ値Null をオブジェクトプロパティと比較すると、プロパティ値がnull あるいはプロパティがオブジェクト内に存在しない場合にtrue を返します。
オブジェクトプロパティ値Null をオブジェクトプロパティと比較すると、プロパティ値がnull の場合にはtrue、それ以外の場合にはfalseが返されます。コードの単純化のため、Null をオブジェクト内に存在しないプロパティ(つまりUndefined)と比較した場合にもtrue を返します。詳細は例題4を参照してください。
コレクション要素コレクションが連続しない要素を追加したことで拡張されたとき、その中間の要素は全てnull 値を自動的に受け取ります。
オブジェクト変数(_O_C_OBJECT)以下の(*)を参照のこと
コレクション変数(_O_C_COLLECTION)以下の(*)を参照のこと
ポインター変数(_O_C_POINTER)以下の(*)を参照のこと
ピクチャー変数(_O_C_PICTURE)(*) これらの型の変数にnull 値を割り当てると、コンテンツがクリアされます。この場合、CLEAR VARIABLE コマンドを呼び出すのと同じ効果があります。
バリアント変数(_O_C_VARIANT)

Null 値は引数としてメソッドに渡したり、あるいは戻り値として返すことはできません。

注: このコマンドはスカラーデータベースフィールドと使用することはできません。データベース内のNull 値はSQL エンジンによって管理されており、Is field value NullSET FIELD VALUE NULL コマンドを通して管理されているからです。

null 値をオブジェクトプロパティに割り当ててテストをしたい場合を考えます:

 C_OBJECT(vEmp)
 vEmp:=New object
 vEmp.name:="Smith"
 vEmp.children:=Null
 
 If(vEmp.children=Null//true
 End if
 If(vEmp.name=Null//false
 End if
 If(vEmp.parent=Null//true
 End if

注: この例題ではデータベースでオブジェクト記法が有効化されている必要があります。

コレクション要素にnull 値を割り当てて比較をしたい場合を考えます:

 C_COLLECTION(myCol)
 myCol:=New collection(10;20;Null)
 ...
 If(myCol[2]=Null)
  // 第3要素がnull であるなら
    ...
 End if

以下の例では、null 値を変数に割り当てて比較する様々な方法を紹介しています:

  //オブジェクト変数
 C_OBJECT($o)
 $o:=New object
 $o:=Null //CLEAR VARIABLE($o) に相等
 If($o#Null//If (OB Is defined($o)) に相等
 End if

  //コレクション変数
 C_COLLECTION($c)
 $c:=New collection
 $c:=Null //CLEAR VARIABLE($c) に相等
 If($c#Null)
 End if

  //ポインター変数
 C_POINTER($p)
 $p:=->$v
 $p:=Null //CLEAR VARIABLE($p) に相等
 If($p=Null//If (Is Nil pointer($p)) に相等
 End if

  //ピクチャー変数
 C_PICTURE($i)
 $i:=$vpicture
 $i:=Null //CLEAR VARIABLE($i) に相等
 If($i#Null//If (Picture size($i)#0) に相等
 End if

オブジェクトプロパティを対象に、このコマンドおよび Null コマンドを使用した場合の結果の例です:

 C_OBJECT(vEmp)
 vEmp:=New object
 vEmp.name:="Smith"
 vEmp.children:=Null
 
 $undefined:=Null(vEmp.name) // False
 $null:=(vEmp.name=Null//False
 
 $undefined:=Null(vEmp.children) // False
 $null:=(vEmp.children=Null//True
 
 $undefined:=Null(vEmp.parent) // True
 $null:=(vEmp.parent=Null//True



参照 

Is field value Null
OB SET NULL
SET FIELD VALUE NULL

 
プロパティ 

プロダクト: 4D
テーマ: ランゲージ
番号: 1517

This command can be run in preemptive processes

 
ページの目次 
 
履歴 

初出: 4D v16 R4

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v20 R7)