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?

$THIS

現在のクラス・コンテキストを含みます。

Synopsis

$THIS

説明

$THIS は、現在のクラス・コンテキストを含みます。インスタンス・メソッドのクラス・コンテキストは、現在のオブジェクト参照 (OREF) です。クラス・メソッドのクラス・コンテキストは、文字列値としての現在のクラス名です。例えば、クラス・メソッド内から DO ..method() コマンドまたは SET ..property = value コマンドを発行すると、.. コンテキストは、$THIS の現在の値を使用して解決されます。オブジェクト・インスタンス内で参照を作成する場合は、相対ドット構文 (..) をお勧めします。

$THIS は通常、オブジェクト・インスタンス内で、別のオブジェクトにある関数を呼び出すときに使用されます。この場合、$THIS を使用し、現在のクラス・コンテキストをその関数に渡して、現在のオブジェクト・インスタンスに値を返すようにすることができます。

$THIS に有効なオブジェクト参照が含まれていない場合、Caché は <NO CURRENT OBJECT> エラーを返します。

$THIS は、以下のようなコンテキストで使用できます。

SET x = ##class(otherclassname).method($THIS)

DO ##class(superclass)$THIS.method(args)

この特殊変数では、SET コマンドを使用して値を設定することはできません。設定しようとすると、<FUNCTION> エラーが返されます。

詳細は、"Caché オブジェクトの使用法" の "オブジェクト特有の ObjectScript の機能" の章にある “$this 構文” を参照してください。OREF の詳細は、"Caché オブジェクトの使用法" の “OREF の基本” を参照してください。

関連項目

FeedbackOpens in a new tab