Null
Null -> 戻り値
引数 | 型 | 説明 | |
---|---|---|---|
戻り値 | Null | ← | Null値 |
説明
Null は、Null 型の値null を返します。
この関数を使用すると、以下のランゲージ要素にnull 値を割り当てる、あるいはnull 値と比較することができます:
ランゲージ要素 | 補足 |
---|---|
オブジェクトプロパティ値 | Null をオブジェクトプロパティと比較すると、プロパティ値がnull あるいはプロパティがオブジェクト内に存在しない場合にtrue を返します。 |
オブジェクトプロパティ値 | Null をオブジェクトプロパティと比較すると、プロパティ値がnull の場合にはtrue、それ以外の場合にはfalseが返されます。コードの単純化のため、Null をオブジェクト内に存在しないプロパティ(つまりUndefined)と比較した場合にもtrue を返します。詳細は例題4を参照 してください。 |
コレクション要素 | コレクションが連続しない要素を追加したことで拡張されたとき、その中間の要素は全てnull 値を自動的に受け取ります。 |
オブジェクト変数(C_OBJECT) | 以下の(*)を参照のこと |
コレクション変数(C_COLLECTION) | 以下の(*)を参照のこと |
ポインター変数(C_POINTER) | 以下の(*)を参照のこと |
ピクチャー変数(C_PICTURE) | (*) これらの型の変数にnull 値を割り当てると、コンテンツがクリアされます。この場合、CLEAR VARIABLE コマンドを呼び出すのと同じ効果があります。 |
バリアント変数(C_VARIANT) |
Null 値は引数としてメソッドに渡したり、あるいは戻り値として返すことはできません。
注: このコマンドはスカラーデータベースフィールドと使用することはできません。データベース内のNull 値はSQL エンジンによって管理されており、Is field value Null とSET FIELD VALUE NULL コマンドを通して管理されているからです。
例題 1
null 値をオブジェクトプロパティに割り当 ててテストをしたい場合を考えます:
var vEmp : Object
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
注: この例題ではデータベースでオブジェクト記法が有効化されている必要があります。
例題 2
コレクション要素にnull 値を割り当てて比較をしたい場合を考えます:
var myCol : Collection
myCol:=New collection(10;20;Null)
...
If(myCol[2]=Null)
// 第3要素がnull であるなら
...
End if
例題 3
以下の例では、null 値を変数に割り当てて比較する様々な方法を紹介しています:
//オブジェクト変数
var $o : Object
$o:=New object
$o:=Null //CLEAR VARIABLE($o) に相等
If($o#Null) //If (OB Is defined($o)) に相等
End if
//コレクション変数
var $c : Collection
$c:=New collection
$c:=Null //CLEAR VARIABLE($c) に相等
If($c#Null)
End if
//ポインター変数
var $p : Pointer
$p:=->$v
$p:=Null //CLEAR VARIABLE($p) に相等
If($p=Null) //If (Is Nil pointer($p)) に相等
End if
//ピクチャー変数
var $i : Picture
$i:=$vpicture
$i:=Null //CLEAR VARIABLE($i) に相等
If($i#Null) //If (Picture size($i)#0) に相等
End if
例題 4
オブジェクトプロパティを対象に、このコマンドおよび Null コマンドを使用した場合の結果の例です:
var vEmp : Object
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