プロパティリストオペレータ
ここで説明するコマンドとオペレータは、プロパティリストを変更して含むプロパティのセットを変更します。
add propertiesまたはreplace propertiesコマンドを使用してプロパティを追加したり、一部のプロパティを可能な限り置換します。remove propertiesおよびretain propertiesコマンドを使用して一部のプロパティを削除します。オブジェクトの一部のプロパティの名前を変更するには、rename propertiesコマンドを使用します。
既存のオブジェクトに影響を与えずにこれらの操作を行うには、コマンドの代わりに対応するオペレータを使用します。
Add Propertiesコマンド、Adding Propertiesオペレータ
動作: add propertiesコマンドとadding propertiesオペレータは、既存のプロパティリストまたはオブジェクトにプロパティリストまたはオブジェクトのプロパティを追加します(それらのプロパティが既に存在しない場合)。これを、既存の値を上書きするreplace propertiesコマンドと比較してみてください。
既存のプロパティリストまたはオブジェクトに新しいプロパティを追加するためにadd propertiesコマンドを使用します。
adding propertiesオペレータを使用して、2つの異なるプロパティリストまたはオブジェクトのプロパティを組み合わせて新しいプロパティリストを作成します。追加する際にプロパティが両方のプロパティリストに存在する場合、sourcePropListのプロパティは常にadditionalPropListのプロパティより優先されます。
Command Syntax:
add {the} properties {of} additionalPropList to sourcePropListOperator Syntax:
sourcePropList adding {property | {the} properties {of}} additionalPropList
_additionalPropList_のプロパティが_sourcePropList_にすでに存在する場合、そのプロパティは無視されます。_additionalPropList_が空の場合、コマンドは何も行いません。
例:
put {A:1, C:3} into myObj
add properties {B:2, C:99, D:4} to myObj -- プロパティリスト '{A:1, B:2, C:3, D:4}'になります。add propertiesコマンドは、既存のキーCの値を置換しません。
例:
put {A:1,C:3} into firstProps -- シンプルなプロパティリストから始めます
put firstProps adding properties {B:2, C:99, D:4} into newProps
put newProps -- {A:1, B:2, C:3, D:4}
Replace Propertiesコマンド、Replacing Propertiesオペレータ
動作: replace propertiesコマンドとreplacing propertiesオペレータは、一つのプロパティリストまたはオブジェクトのプロパティを既存のプロパティリストまたはオブジェクトに追加したり、そのプロパティがすでに存在する場合は既存の値を置き換えます。これを、既存の値を上書きしないadd propertiesコマンドと比較してみてください。
既存のプロパティリストまたはオブジェクトに新しいプロパティを追加し、既存のプロパティを置き換えるためにreplace propertiesコマンドを使用します。
replacing propertiesオペレータを使用して、二つの異なるプロパティリストまたはオブジェクトのプロパティを組み合わせて新しいプロパティリストを作成し、二つ目のプロパティリストからの対応するプロパティで最初のプロパティリストのプロパティを上書きします。
Command Syntax:
add {the} properties {of} additionalPropList to sourcePropListCommand Syntax:
sourcePropList adding {property | {the} properties {of}} additionalPropList
もし_replacementPropList_にあるプロパティがすでに_sourcePropList_に存在するなら、そのプロパティは新しい値に置き換えられます。_replacementPropList_の他の値は_sourcePropList_に追加されます。もし_replacementPropList_が空だった場合、_sourcePropList_は変わりません。
例:
put {A:1, B:2, C:3} into myObj
replace properties {B:"bunny", D:"dog"} of myObj -- プロパティリスト '{A:"1", B:"bunny", C:"3", D:"dog"}'になります。
例:
put {A:1,C:3} into firstProps
put firstProps adding properties {B:2, C:99, D:4} into newProps
put newProps replacing {B:22, D:44} -- {A:1, B:22, C:3, D:44}