リテラルを使ったオブジェクトとコレクションの初期化

これまで、オブジェクトやコレクションのインスタンス化には New objectNew collection コマンドを使用してきました。4D v20 からは、オブジェクトリテラルとコレクションリテラルという、より簡単で可読性の高い初期化の方法が追加されました。

オブジェクトリテラル

オブジェクトリテラル は、空の、または値が格納された新規オブジェクトを作成します:

  • {} を使って、空のオブジェクトを作成することができます:
$object1:={}
// これは下と同義です: 
$object2:=New object
  • または、中括弧で囲んだプロパティ名と値のペアのリストを使い、オブジェクトを初期化すると同時に値を代入できます:
$b:=42
$object1:={\
  a:"foo"; \
  b:$b; \
  c:{}; \
  d:["Hello"; "there"]\
  }
// これは下と同義です: 
$object2:=New object(\
  "a"; "foo"; \
  "b"; $b; \
  "c"; New object; \
  "d"; New collection("hello"; "there"))

オブジェクトをインスタンス化するこの新しい方法には、テキスト値を使わずに属性をそのまま作成できる利点があります。これにより、次のようなことが可能になります:

  • シンタックスハイライトの恩恵が受けられます
  • コード補完を使用して属性を作成できます
  • プロパティ検索時に、これらの属性を取得できます

コレクションリテラル

コレクションリテラル は、空の、または値が格納された新規コレクションを作成します。

  • [] を使って、空のコレクションを作成することができます:
$collection1:=[] 
// これは下と同義です: 
$collection2:=New collection
  • または、値で初期化されたコレクションを作成できます:
$collection1:=[654; $b; {a:"foo"}]
// これは下と同義です: 
$collection2:=New collection(654; $b; New object("a"; "foo"))

より詳細については、ドキュメント を参照ください!

私たちは、ユーザーに最高の体験を提供できるよう常に努力しており、4Dフォーラムにあなたのフィードバックを投稿することをお勧めします。あなたのフィードバックは、あなたのニーズをよりよく理解し、製品とサービスを改善し続ける助けになります。

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