これまで、オブジェクトやコレクションのインスタンス化には New object と New 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フォーラムにあなたのフィードバックを投稿することをお勧めします。あなたのフィードバックは、あなたのニーズをよりよく理解し、製品とサービスを改善し続ける助けになります。