Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

ダイナミック・エンティティ・メソッドのクイック・リファレンス

このセクションでは、使用可能な各ダイナミック・エンティティ・メソッドの概要とリファレンス情報を記載しています。ダイナミック・エンティティは、%Library.DynamicObjectOpens in a new tab または %Library.DynamicArrayOpens in a new tab のインスタンスです。これらのクラスは両方とも %Library.DynamicAbstractObjectOpens in a new tab を継承します。この章の各リストには、適切なオンラインのクラス・リファレンス・ドキュメントへのリンクが含まれています。

メソッドの詳細

このセクションでは、すべての使用可能なダイナミック・エンティティ・メソッドを列挙して、各メソッドについて簡単に説明して、詳細情報へのリンクを提供します。すべてのメソッドはオブジェクトと配列の両方に使用できますが、例外として、%Push()%Pop() は配列専用です。

%FromJSON()

指定された JSON ソースを解析して、解析された JSON が格納されたデータ型 %DynamicAbstractObjectOpens in a new tab のオブジェクトを返します。解析時にエラーが発生した場合は、例外がスローされます。詳細と例は、“ダイナミック・エンティティと JSON の間の変換” を参照してください。

   classmethod %FromJSON(str) as %DynamicAbstractObject

パラメータ :

  • str — 入力は、以下に示すソースのいずれか 1 つにできます。

    • ソースが含まれた文字列値。

    • ソースの読み取り元となるストリーム・オブジェクト。

    • ソースを読み取ることができるファイル URI。このファイルは UTF-8 形式でエンコードされている必要があります。

関連項目 : "%ToJSON()"、"大きいダイナミック・エンティティからストリームへのシリアル化"

クラス・リファレンス%DynamicAbstractObject.%FromJSON()Opens in a new tab

%Get()

指定された有効なオブジェクト・キーまたは配列インデックスを受け取って、対応する値を返します。その値が存在しない場合は、NULL 文字列の "" が返されます。詳細と例は、“%Set()、%Get()、および %Remove() の使用” を参照してください。

   method %Get(key) as %CacheString

パラメータ :

  • key — 取得する値のオブジェクト・キーまたは配列インデックス。配列インデックスはキャノニック形式の整数値として渡される必要があります。配列インデックスの先頭位置は 0 です。

関連項目 : "%Set()"、"%Remove()"、"%Pop()"

クラス・リファレンス%DynamicObject.%Get()Opens in a new tab%DynamicArray.%Get()Opens in a new tab

%GetIterator()

%Iterator オブジェクトを返して、ダイナミック・エンティティのすべてのメンバの反復処理を可能にします。詳細と例は、“%GetNext() を使用したダイナミック・エンティティの反復処理” を参照してください。

   method %GetIterator() as %Iterator.AbstractIterator

関連項目 : "%GetNext()"

クラス・リファレンス%DynamicObject.%GetIterator()Opens in a new tab%DynamicArray.%GetIterator()Opens in a new tab%Iterator.ObjectOpens in a new tab%Iterator.ArrayOpens in a new tab

%GetNext()

これは、%GetIterator() によって返される %Iterator オブジェクトのメソッドです。反復子を進めて、反復子の位置が有効な要素の場合は true を返し、反復子が最終要素を越えている場合は false を返します。key 引数と value 引数は、現在の反復子位置にある有効な要素の値を返します。詳細と例は、“%GetNext() を使用したダイナミック・エンティティの反復処理” を参照してください。

   method getNext(Output key, Output value) as %Integer

パラメータ :

  • key — 現在の位置にある要素のオブジェクト・キーまたは配列インデックスを返します。

  • value — 現在の位置にある要素の値を返します。

関連項目 : "%GetIterator()"

クラス・リファレンス%Iterator.Object.%GetNext()Opens in a new tab%Iterator.Array.%GetNext()Opens in a new tab

%GetTypeOf()

有効なオブジェクト・キーまたは配列インデックスが指定されると、値のデータ型を示す文字列を返します。詳細と例は、“データ型を使用した作業” を参照してください。

   method %GetTypeOf(key) as %String

パラメータ :

  • key — 調べる値のオブジェクト・キーまたは配列インデックス。

返り値 :

以下のいずれかの文字列が返されます。

  • "null" — JSON の null

  • "boolean" — ゼロ (“false”) またはゼロ以外 (“true”) の数値

  • "number" — 任意のキャノニック形式の数値

  • "oref" — 別の Caché オブジェクトの参照

  • "object" — 入れ子になったオブジェクト

  • "array" — 入れ子になった配列

  • "string" — 標準のテキスト文字列

  • "unassigned" — そのプロパティまたは要素は存在しているが、値が割り当てられていない

関連項目 : "%IsDefined()"

クラス・リファレンス%DynamicAbstractObject.%GetTypeOf()Opens in a new tab

%IsDefined()

key で指定された項目がオブジェクト内で定義されているかどうかをテストします。項目が割り当てられていない場合や存在しない場合は、False を返します。詳細と例は、“%IsDefined() を使用した有効値の有無の確認” を参照してください。

   method %IsDefined(key) as %Boolean

パラメータ :

  • key — テストする項目のオブジェクト・キーまたは配列インデックス。配列インデックスはキャノニック形式の整数値として渡される必要があります。配列インデックスの先頭位置は 0 です。

関連項目 : "NULL、空の文字列、および未割り当て値の解決"

クラス・リファレンス%DynamicObject.%IsDefined()Opens in a new tab%DynamicArray.%IsDefined()Opens in a new tab

%Pop()

配列の最終メンバの値を返します。その後、この値は配列から削除されます。配列が既に空である場合は、このメソッドは空の文字列 ("") を返します。詳細と例は、“動的配列での %Push と %Pop の使用” を参照してください。

   method %Pop() as %CacheString

関連項目 : "%Push()"、"%Get()"、"%Remove()"、"NULL、空の文字列、および未割り当て値の解決"

クラス・リファレンス%DynamicArray.%Pop()Opens in a new tab

%Push()

指定された新しい値を現在の配列の末尾に追加して、配列の長さを拡大します。現在の変更後の配列を参照する oref を返して、%Push() の呼び出しを連鎖可能にします。詳細と例は、“動的配列での %Push と %Pop の使用” を参照してください。

   method %Push(value, type) as %DynamicAbstractObject

パラメータ :

  • value — 新しい配列要素に割り当てる値。

  • typevalue のデータ型を示すオプションの文字列。以下の文字列を使用できます。

    • "null" — JSON の nullvalue 引数は必ず "" (空の文字列)。

    • "boolean" — JSON の false (value 引数は必ず 0) または true (value 引数は必ず 1)。

    • "false" — JSON の false (value 引数は必ず 0)。

    • "true" — JSON の true (value 引数は必ず 1)。

    • "number"value をキャノニック形式の数値に変換します

    • "string"value をテキスト文字列に変換します

関連項目 : "%Pop()"、"%Set()"、"%Set() または %Push() を使用したデフォルトデータ型のオーバーライド"、"メソッドの連鎖"

クラス・リファレンス%DynamicArray.%Push()Opens in a new tab

%Remove()

指定された要素をダイナミック・オブジェクトまたは動的配列から削除して、その削除された要素の値を返します。その要素の値が埋め込みダイナミック・オブジェクトまたは埋め込み動的配列である場合は、すべての従属ノードも削除されます。動的配列の場合は、削除された要素の後続要素すべてについて、添え字位置の値が 1 だけ小さくなります。詳細と例は、“%Set()、%Get()、および %Remove() の使用” を参照してください。

   method %Remove(key) as %DynamicAbstractObject

パラメータ :

  • key — 削除する要素のオブジェクト・キーまたは配列インデックス。配列インデックスはキャノニック形式の整数値として渡される必要があります。配列インデックスの先頭位置は 0 です。

関連項目 : "%Set()"、"%Get()"、"%Pop()"

クラス・リファレンス%DynamicObject.%Remove()Opens in a new tab%DynamicArray.%Remove()Opens in a new tab

%Set()

新しい値を作成するか、既存の値を更新します。変更された配列の参照を返して、%Set() の呼び出しを入れ子にすることを可能にします。詳細と例は、“%Set()、%Get()、および %Remove() の使用” を参照してください。

   method %Set(key, value, type) as %DynamicAbstractObject

パラメータ :

  • key — 作成または更新する値のオブジェクト・キーまたは配列インデックス。配列インデックスはキャノニック形式の整数値として渡される必要があります。配列インデックスの先頭位置は 0 です。

  • value — 既存の値を更新するための新しい値、または新たに作成する値。

  • typevalue のデータ型を示すオプションの文字列。以下の文字列を使用できます。

    • "null" — JSON の nullvalue 引数は必ず "" (空の文字列)。

    • "boolean" — JSON の false (value 引数は必ず 0) または true (value 引数は必ず 1)。

    • "false" — JSON の false (value 引数は必ず 0)。

    • "true" — JSON の true (value 引数は必ず 1)。

    • "number"value をキャノニック形式の数値に変換します

    • "string"value をテキスト文字列に変換します

関連項目 : "%Get()"、"%Remove()"、"%Push()"、"%Set() または %Push() を使用したデフォルトデータ型のオーバーライド"、"メソッドの連鎖"

クラス・リファレンス%DynamicObject.%Set()Opens in a new tab%DynamicArray.%Set()Opens in a new tab

%Size()

ダイナミック・オブジェクトまたは動的配列のサイズを示す整数を返します。配列の場合は、このサイズには配列内の未割り当て要素も含まれます。オブジェクトの場合は、このサイズには値が割り当てられている要素のみが含まれます。詳細と例は、“%Size() を使用したスパース配列の反復処理” を参照してください。

   method %Size() as %Integer

関連項目 : "%GetNext()"

クラス・リファレンス%DynamicAbstractObject.%Size()Opens in a new tab

%ToJSON()

%DynamicAbstractObject. のインスタンスを JSON 文字列に変換します。詳細と例は、“ダイナミック・エンティティと JSON の間の変換” を参照してください。

   method %ToJSON(outstrm As %Stream.Object) as %String

パラメータ :

  • outstrm — オプション。以下のようないくつかのケースが考えられます。

    • outstrm が指定されておらず、このメソッドが DO を介して呼び出された場合は、JSON 文字列は現在の出力デバイスに書き込まれます。

    • outstrm が指定されておらず、このメソッドが式として呼び出された場合は、JSON 文字列はその式の値になります。

    • outstrm%Stream.ObjectOpens in a new tab のインスタンスとして指定されている場合は、JSON 文字列がストリームに書き込まれます (詳細と例は、“大きいダイナミック・エンティティからストリームへのシリアル化” を参照)。

    • outstrm がオブジェクトであるが、%Stream.ObjectOpens in a new tab のインスタンスではない場合は、例外がスローされます。

    • outstrm がオブジェクトではなく、NULL でもない場合は、完全修飾ファイル指定であると見なされます (ファイルのフル・パスを指定する必要があります)。このファイルは新規作成された %Stream.FileCharacterOpens in a new tab ストリームにリンクされ、JSON 文字列はストリームに書き込まれ、完了時にストリームがこのファイルに保存されます。

関連項目 : "%FromJSON()"

クラス・リファレンス%DynamicAbstractObject.%ToJSON()Opens in a new tab

FeedbackOpens in a new tab