Object (クラス)
public abstract shared Object
パッケージ: CURL.LANGUAGE.CORE-TYPES

すべてのクラスの基本クラス、つまり define-class で作成された型。


メソッド
object-describe:ユーザーが印刷するのに適した方法でオブジェクトを記述します。
public {Object.object-describe}:void
object-describe-for-debugging:オブジェクトについて細部を記述します。これは主にデバッグ目的での使用が想定されています。
public {Object.object-describe-for-debugging}:void
object-serialize:クラス インスタンスが書き込まれるときに、シリアル化コードで呼び出されます。
public {Object.object-serialize out:SerializeOutputStream}:void







メソッド詳細
object-describe (メソッド)
public {Object.object-describe}:void

ユーザーが印刷するのに適した方法でオブジェクトを記述します。

out: 文字が送られるストリーム。
locale: self の表示方法をコントロールする Locale

説明

このメソッドは、一般に、"%s" フォーマット キーを使用して間接的に起動されます。

{format out = out, "%s", obj}
上記の表現は単純に以下を呼び出します。
{obj.object-describe out}


たとえば、uUrl である場合を考えます。
{u.object-describe os}
上記の表現により、u の名前が os に書き込まれます。

このメソッドの既定の実装では、以下を呼び出す効果があります。
{format out = out, locale = locale, "%v", obj }
("%v" フォーマット キーの詳細については、format を参照してください)。


object-describe-for-debugging (メソッド)
public {Object.object-describe-for-debugging}:void

オブジェクトについて細部を記述します。これは主にデバッグ目的での使用が想定されています。

out: 文字が送られるストリーム。
locale: self の表示方法をコントロールする Locale

説明

このメソッドは、一般に、"%y" フォーマット キーを使用して間接的に起動されます。"%y" フォーマット キーは、このメソッドによって生成された結果を、次のような何らかの型またはアドレス情報でラップします。
{do
    let buf:StringBuf = {StringBuf}
    {self.object-describe-for-debugging buf, {get-syntax-locale}}
    {format out = out, "[<type> @<addr> %s]", buf}
}
このメソッドの既定の実装では
{format out = out, "%w", self} を呼び出します。
(「%w」フォーマット キーの詳細については、format を参照してください)。
これが FormatFailedException を取得する場合、通常ユーザー定義のクラスのように、このメソッドは object-describe メソッドの呼び出しに戻ります。


object-serialize (メソッド)
public {Object.object-serialize out:SerializeOutputStream}:void

クラス インスタンスが書き込まれるときに、シリアル化コードで呼び出されます。

out: このメソッドを呼び出した SerializeOutputStream

説明

このメソッドは、次のステップを順番に実行する必要があります。
  1. SerializeOutputStream.write-class-version を呼び出します。通常は引数にゼロ (0) を指定します。
  2. シリアル化可能なスーパークラスごとに super.object-serialize を呼び出します。
  3. シリアル化された状態を out に書き込みます。これは通常、フィールドごとに SerializeOutputStream.write-one を呼び出すことによって実行されます。

注意事項

このメソッドは、シリアル化可能なサブクラスでのみ定義する必要があります。