api-version-switch (マクロ)
パッケージ: CURL.LANGUAGE.COMPILER

現在の API バージョンに基づく条件付きコンパイルをサポートします。

構文

{api-version-switch case versions do body case versions do body [...] [else body] }

説明

このマクロは、現在の API バージョンと最初に一致する versions に対応する body を展 開します。一致がなければ else に対応する body を展開するか、展開を行いません。

注意事項

versions 内の各バージョンは、メタデータなどに表記するように引用符付きで指定する必要があります (例 : "3.0.1+")。

次の例では、現在の API バージョンに応じて異なる実装を持つプロシージャを定義しています。
例: 条件付きコンパイル
{api-version-switch
    case "4+", "3.1+" do
    {define-proc {release}:String
        {return "an advanced release"}
    }
    case "3.0.1+" do
    {define-proc {release}:String
        {return "a patched 3.0 release"}
    }
    case "3.0" do
    {define-proc {release}:String
        {return "an original 3.0 release"}
    }
    else
    {define-proc {release}:String
        {return "an unknown release"}
    }
}
{text You are running {release}.}