$THIS (ObjectScript)
現在のクラス・コンテキストを含みます。
構文
$THIS
説明
$THIS は、現在のクラス・コンテキストを含みます。インスタンス・メソッドのクラス・コンテキストは、現在のオブジェクト参照 (OREF) です。クラス・メソッドのクラス・コンテキストは、文字列値としての現在のクラス名です。例えば、クラス・メソッド内から DO ..method() コマンドまたは SET ..property = value コマンドを発行すると、.. コンテキストは、$THIS の現在の値を使用して解決されます。オブジェクト・インスタンス内で参照を作成する場合は、相対ドット構文 (..) をお勧めします。
$THIS は通常、オブジェクト・インスタンス内で、別のオブジェクトにある関数を呼び出すときに使用されます。この場合、$THIS を使用し、現在のクラス・コンテキストをその関数に渡して、現在のオブジェクト・インスタンスに値を返すようにすることができます。
$THIS に有効なオブジェクト参照が含まれていない場合、InterSystems IRIS は <NO CURRENT OBJECT> エラーを返します。
$THIS は、以下のようなコンテキストで使用できます。
SET x = ##class(otherclassname).method($THIS)
DO ##class(superclass)$THIS.method(args)
この特殊変数では、SET コマンドを使用して値を設定することはできません。設定しようとすると、<FUNCTION> エラーが返されます。
詳細は、"オブジェクト特有の ObjectScript の機能" にある “$this 構文” を参照してください。OREFの詳細は、"OREF の基本" を参照してください。
関連項目
-
$CLASSNAME 関数