| 4D v18New object | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 New object 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| New object {( property ; value {; property2 ; value2 ; ... ; propertyN ; valueN} )} -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| property | テキスト |   | 作成するプロパティ名 | |||||
| value | テキスト, 日付, ブール, ポインター, Number, Object |   | プロパティの値 | |||||
| 戻り値 | Object |   | 新しいランゲージオブジェクト | |||||
New object コマンドは新しい空の、あるいは事前に値が入れられたオブジェクトを作成し、その参照を返します。
何も引数を渡さなかった場合、New object は空のオブジェクトを作成し、その参照を返します。この参照をC_OBJECT で作成された4D変数あるいは4Dオブジェクトフィールドへと割り当てて下さい。
注: C_OBJECT はObject type型の変数を宣言しますが、オブジェクトは作成しません。
オプションとして、一つあるいは複数のproperty/value のペアを引数として渡すことにより、新規オブジェクトにあらかじめ値を入れておくことができます:
このコマンドは空の、あるいは値が入れられたオブジェクトを作成することができます:
 C_OBJECT($obj1)
 C_OBJECT($obj2)
 C_OBJECT($obj3)
 $obj1:=New object
  // $obj1 = {}
 $obj2:=New object("name";"Smith")
  // $obj2 = {name:Smith}
 $obj3:=New object("name";"Smith";"age";40)
  // $obj3 = {name:Smith,age:40}オブジェクトを引数の値として渡して、新規のオブジェクトを作成する場合を考えます:
 C_OBJECT($Children;$Contact)
 
  //オブジェクト配列を作成
 ARRAY TEXT($arrChildren;3)
 $arrChildren{1}:="Richard"
 $arrChildren{2}:="Susan"
 $arrChildren{3}:="James"
 OB SET ARRAY($Children;"Children";$arrChildren)
 
  //オブジェクトを初期化
 $Contact:=New object("FirstName";"Alan";"LastName";"Parker";"age";30;"Children";$Children)
  // $Contact = {FirstName:Alan,LastName:Parker,age:30,Children:{Children:[Richard,Susan,James]}}このコマンドはオブジェクトを引数として渡す際に便利です:
 C_OBJECT($measures)
 $measures:=Get database measures(New object("path";"DB.cacheReadBytes";"withHistory";True;"historyLength";120))このコマンドを使用すると、オブジェクトをループ内で容易に管理できます:
 ARRAY OBJECT($refs;0)
 C_LONGINT(vCounter)
 
 For(vCounter;1;100)
    APPEND TO ARRAY($refs;New object("line";"Line number "+String(vCounter)))
 End for
	プロダクト: 4D
	テーマ: オブジェクト(ランゲージ)
	番号: 
        1471
        
        
        
	
	初出: 4D v16 R3
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v18)
	
	
	
	
	
 コメントを追加
コメントを追加