serialize-vars (マクロ)
パッケージ: CURL.LANGUAGE.COMPILER

シグネチャ

{serialize-vars
  out:SerializeOutputStream,
  compact?:bool = true,
  variable [, ...]
}

変数のシーケンスをシリアル化します。

out: 変数がシリアル化される出力ストリームです。
compact?: コンパクトなシリアル化を使用するかどうかを規定します。値はコンパイル時に定数である必要があります。これによって、SerializeOutputStream.write-one または write-one-compact が使用されるかどうかが決定されます。逆シリアル化の場合は、同じ値が使用される必要があります。
variable: 一つまたは複数の変数の参照です。compact? が true の場合、各変数の宣言された型が SerializeOutputStream.write-one-compact渡されます。逆シリアル化の場合は、同じ型が使用されなければなりません。

説明

一般的に、値は deserialize-vars を使用して読み返されます。

{define-proc {write-stuff
                 out:SerializeOutputStream,
                 s:String,
                 i:int
             }:void
    {serialize-vars out, compact? = true, s, i}
}
これは、次と同じです。
{define-proc {write-stuff
                 out:SerializeOutputStream,
                 s:String,
                 i:int
             }:void
    {out.write-one-compact s, String}
    {out.write-one-compact i, int}
}
導入: バージョン 6.0