オブジェクトに対する一般的な処理をサポートする各種関数を提供しています。詳細は以下ドキュメントをご参照ください。
オブジェクトへの動的アクセス【IRIS】
オブジェクトへの動的アクセス
サンプルクラス(Sample.Person)を使用して、利用例をご紹介します。
【InterSystems IRIS でご確認いただく場合】
InterSystems IRISでは、サンプル定義の一部を GitHub 上に公開しています。
ダウンロード情報やインポート、データ作成手順については、関連トピックをご参照ください 。
【Caché/Ensemble/HealthShare でご確認いただく場合】
SAMPLES ネームスペースへ移動してご確認ください。
(1) クラス名の取得:$CLASSNAME(インスタンス)
SAMPLES>set p=##class(Sample.Person).%OpenId(1)
SAMPLES>write $CLASSNAME(p)
Sample.Person
SAMPLES>write $CLASSNAME(p.Home) // オブジェクト参照のプロパティ
Sample.Address
SAMPLES>
(2) クラスメソッドの実行:$CLASSMETHOD(クラス名,クラスメソッド名,メソッドの引数1,引数n)
SAMPLES>write $classmethod("Sample.Person","CurrentAge",+$H-3652)
10
(3) インスタンスメソッドの実行:$METHOD(インスタンス,メソッド名,メソッドの引数1,引数n)
SAMPLES>do $method(p,"PrintPerson") // 変数pには、Sample.Personのインスタンスが格納されているとします
Name: Yoders,Roberta J.
SAMPLES>
(4) クラスパラメータの設定値取得:$PARAMETER(クラス名,パラメータ名)
SAMPLES>write $PARAMETER("Sample.Person","EXTENTQUERYSPEC")
Name,SSN,Home.City,Home.State
SAMPLES>
(5) プロパティ値の操作
SAMPLES>write $property(p,"Name")
Yoders,Roberta J.
SAMPLES>set $property(p,"Name")="山田太郎"
SAMPLES>write $property(p,"Name")
山田太郎
SAMPLES>