self (プリミティブ)
パッケージ: CURL.LANGUAGE.COMPILER

現在のクラス インスタンスを参照する、暗黙的に定義された値です。

説明

self 値は、現在のクラス インスタンスへのアクセスを必要とする、すべてのクラス メンバーで自動的に定義されます。これには、コンストラクタ、メソッド、ゲッター、セッター、オプションの変更ハンドラが含まれます。ファクトリー、クラス プロシージャ、フィールドに対する初期化式、オプションの既定値式は含まれません。


例: self 変数を使用
{import OptionTable from CURL.RUNTIME.OPTION}

{define-class MyClass {inherits OptionTable}
  field x:int
  {constructor {default x:int}
    set self.x = x
  }
  {method {get-x}:int
    {return self.x}
  }
  {getter {y}:int
    {return self.x}
  }
  {setter {y val:int}:void
    set self.x = val
  }
  {local-option z:int = 42
    set self.x = z
  }
}