単純型

この言語では、次の単純な型の値を使用できます。

  • 数字
  • 文字列
  • ブーリアン型
  • Nil
  • その他のタイプ

数字

すべての数値(整数)は、IEEE 754浮動小数点値で表されます。2 ^ 54までの整数は正確な表現を持っています。数値は次のように表すことができます。

  • 符号付きおよび符号なしの 10 進整数 (例:10,-5)
  • 小数点を含む実数 (10.5, 3.14159)
  • 指数を持つ実数 (1.0e+10)
  • 16進数 (0xffff0000)

Citrix ADC ポリシー式には、次の 3 つの数値タイプがあります。

  • 32 ビット整数 (num_at)
  • 64 ビット整数 (unsigned_long_at)
  • 64 ビット浮動小数点 (double_at)

これらのすべては、拡張関数に渡されたときに数値型に変換され、返されるときに数値は予想されるポリシー数値型に変換されます。

文字列

文字列は、任意の長さのバイトシーケンスです。これらは、ポリシー text_at タイプに対応します。文字列には、null(0x00)バイトを含めることができます。任意のバイナリデータは、任意の文字コード表現(例えば、UTF-8や完全なUnicodeなど)を含む文字列で保持することができます。ただし、文字列関数 likestring.upper () は 8 ビットの ASCII を想定しています。

文字列は、使用時に自動的に割り当てられます。文字列のバッファを明示的に割り当てる必要はありません(または方法)。文字列は、使用されなくなったときにガベージコレクションによって自動的に割り当て解除されます。明示的に文字列を解放する必要はありません(または方法でも)。この自動割り当てと割り当て解除は、メモリリークやダングリングポインタなど、C言語の一般的な問題を回避します。

文字列リテラルは、二重引用符または一重引用符で囲まれた文字列です。2つのタイプの引用符には違いはありません。「文字列リテラル」は「文字列リテラル」と同じです。通常のバックスラッシュエスケープを使用できます:s(ベル)、b(バックスペース)、f(フォームフィード)、n(改行/改行)、t(水平タブ)、(バックスラッシュ)、”(二重引用符)、’(一重引用符)。10 進数のバイト値は、バックスラッシュと 1 ~ 3 桁 (d, dd, ddd) で入力できます。16 進数のバイト値は、バックスラッシュ、x、および 2 桁の 16 進数 (xhh) で入力できます。

長い括弧表記という特殊な構文呼び出しは、長い複数行の文字列リテラルに使用できます。この表記法は、文字列を二重角括弧で囲み、括弧の間にゼロ以上の等号を付けます。文字列にない括弧と等号の組み合わせを考え出すことです。文字列ではエスケープシーケンスは考慮されません。例:

[[This is a multi-line string using long bracket notation.]]

[=[This is a multi-line string using long notation with [[and ]] and and an unescaped in it.]=]

長い括弧表記は、複数行のコメントを作成するために使用することができます。例:

–[[ This is a multi-line comment. –]]

ブーリアン型

通常の true および false のブール値が提供されます。ブール値は、ゼロが偽であると仮定され、ゼロ以外の値が真であるCとは対照的に、数値とは異なることに注意してください。

Nil

nilは「値なし」を意味する特別な値です。NULLがゼロに定義されているCとは対照的に、独自の型であり、他の値と同等ではありません。

その他のタイプ

ユーザーデータとスレッドの 2 つのタイプがあります。これらは高度なトピックであり、ここでは説明しません。

単純型