新規オブジェクト:オブジェクトを初期化する簡単な方法

Deeplからの自動翻訳

New object, は、オブジェクトを初期化するための 4D の新しいコマンドです。このコマンドは、空のオブジェクトを作成するか、いくつかの初期プロパティと値を持つオブジェクトを作成することができます。OB SET は、いくつかの状況で不要になりつつあり、New object で十分です。

New object また、 や コマンドのように、オブジェクトをパラメータとして要求する 4D コマンドに直接渡すこともできます。Get database measures GRAPH

この新しいコマンドは、多くの状況で 4D コードの書き方を変えます。New object はオブジェクトを作成し、それへの参照を返します。これにより、コードの柔軟性が高まります。 このコマンドは、オブジェクトに関連する一連の新機能の最初のものです …ご期待ください。

例1

この最初の例では、空のオブジェクトを作成する方法を説明します。以前の 4D では、これを行うには、JSON Parse(“{}”) を使うしかありませんでしたが、これは明らかではありません。実際、C_OBJECT コマンドは、オブジェクトを含まないオブジェクト変数を宣言し、オブジェクトは、いくつかのプロパティが定義されると同時に、最初のOB SET の呼び出しの時だけ、実際に作成されるのです。v16 R3 からは、もうJSON Parse を使う必要はありません。オブジェクトを初期化 するコマンドはひとつだけです:New object! 簡単で直感的です!

// Previous versions
C_OBJECT( ) := ("{}") $obj
$objJSON Parse
//$obj={}

4D v16 R3 以降は、New object を使うだけでいいのです。

// From 4D v16 R3
C_OBJECT( ) := $obj
$objNew object

//$obj={}

例2

以下のように、オブジェクトを作成せずに、4Dコマンドの中で直接New object を使用することもできます。

// Previous versions
C_OBJECT( ) ( ) ( ; "path"; "DB.cacheReadBytes") ( ; "withHistory";True) ( ; "historyLength";2*60) := ( )$oParams
C_OBJECT$measures
OB SET$oParams
OB SET$oParams
OB SET$oParams
$measuresGet database measures$oParams

4D v16 R3以降では、このコードは、New object を使って書くことができます。

// From 4D v16 R3
C_OBJECT($measures)
$measures :=Get database measures(New object("path"; "DB.cacheReadBytes"; "withHistory";True; "historyLength";120))

その他のコード例は、以下のサンプルデータベースで見ることができます。

データベース例

より詳細な情報は、ドキュメントを参照してください。4D v16 R3 language manual のNew object コマンドの記事を見てみてください。

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。