NetScalerの拡張 - ライブラリリファレンス

ポリシー拡張でサポートされているライブラリのリスト。

  • 基本ライブラリ
  • Stringライブラリ
  • 正規表現パターン-文字クラス
  • 正規表現パターン-パターンアイテム
  • Tableライブラリ
  • 数学ライブラリ
  • ビットワイズライブラリ
  • オペレーティング・システム・ライブラリ
  • NetScaler ライブラリ

基本ライブラリ

   
assert(v[,message]) v が false の場合、オプションのメッセージとともにエラーを発行します。
error(message) 関数を終了し、エラーメッセージを報告します。
ipairs(a) Iterator for an array a. 各反復のインデックスと値を返します。
pairs(t) テーブル t のイテレータ。各反復のキーと値を返します。
tonumber(e[,base]) e を数値に変換し、オプションの基数を指定します。
tostring(v) v を文字列に変換します
type(v) v のタイプ (数値、文字列、ブール値、テーブルなど) を返します。
getmetatable (object) オブジェクトにメタテーブルがない場合は nil を返します。それ以外の場合、オブジェクトのメタテーブルに「__metatable」フィールドがある場合は、関連する値を返します。それ以外の場合は、指定されたオブジェクトのメタテーブルを返します。
setmetatable (table, metatable) 指定されたテーブルのメタテーブルを設定します。(Lua から他のタイプのメタテーブルを変更することはできません。C からしか変更できません)メタテーブルが nil の場合、指定されたテーブルのメタテーブルを削除します。元のメタテーブルに「__metatable」フィールドがある場合、エラーが発生します。
select (index, ···) 引数番号インデックスの後のすべての引数を返します。インデックスが文字列「#」の場合は、それが受け取った余分な引数の合計数を返します。
pcall (f [, arg1, ···]) プロテクトモードで指定された引数で関数fを呼び出します。最初の結果として、呼び出しが成功したかどうかを示すステータスコードが返されます。呼び出しが成功した場合は、ステータスコードとともに呼び出しのすべての結果も返し、それ以外の場合はエラーメッセージを返します。
xpcall (f, msgh [, arg1, ···]) この関数は pcall に似ていますが、エラー処理用の引数も取る点が異なります。
_VERSION 現在のインタプリタのバージョンを返します。

Stringライブラリ

   
string.byte(s[,i[,j]]) s [i] から s [j] までのバイト値を返します。デフォルト i = 1 および j = i
string.char(…) 整数パラメータで構成された文字列を返します。
string.find(s,pattern[,init[,plain]) s 内の正規表現パターンが最初に一致するものを検索します。match または nilの最初と最後のインデックスを返します。initは開始時のインデックスで、デフォルトは1です。plain = trueはパターンが正規表現ではないことを意味します。
string.format(form,…) パラメータのフォーマットされたバージョンを返します。
string.gmatch(s,pattern) 正規表現パターンで s を検索するためのイテレータ。一致する値を返します。
string.gsub(s,pattern,repl[,n]) パターンのすべての(またはn)出現がreplに置き換えられたsのコピーを返します。
string.len(s) 文字列の長さを返します。
string.lower(s) 小文字に変換された文字列のコピーを返します。
string.match(s,pattern[,init]) s の正規表現パターンの最初の一致を検索し、キャプチャまたはパターン全体を返します。init は開始するインデックス、デフォルトは 1 です。
string.rep(s,n[,sep]) セパレータsep、デフォルトなしセパレータで、sのn個のコピーである文字列を返します
string.reverse(s) 逆にされた文字列を返します。
string.sub(s,i[,j]) s [i] から s [j] までの部分文字列を返します。デフォルトの j は文字列の末尾です。
string.upper(s) 大文字に変換された文字列のコピーを返します。
string.dump (function) 指定された関数のバイナリ表現を含む文字列を返します。

正規表現パターン-文字クラス

   
x 文字 x (マジック文字 ^$ ()%. [] *+-?)
. 任意の文字
%a 任意の文字
%c 任意の制御文字
%d 任意の数字
%g スペースを除くすべての印刷可能な文字
%l 任意の小文字
%p 任意の句読点
%s 任意の空白文字
%u 任意の大文字
%w 任意の英数字
%x エスケープされたマジック文字 x (例:%%)
[set] 文字セット:個々の文字のシーケンス、範囲 x、y、% クラス
[^set] セットにない文字。

正規表現パターン-パターンアイテム

   
X 文字クラス
X* X 内の文字の最長反復回数 0 回以上
X+ X 内の 1 回以上の文字の繰り返し
X- X 内の文字の最短の繰り返し 0 回以上
X? X の 0 または 1 文字
%n n=1 ~ 9; キャプチャされた n 番目の文字列に一致します
%bxy バランスの取れた 2 つの文字 x と y の間の部分文字列をマッチさせます。例 %b () は、2 つの平衡括弧の間の部分文字列を照合します。
%f[set] 次の文字が set に属し、前の文字が set に属さないような任意の位置の空文字列にマッチします。

パターンは一連のパターンアイテムです。^pattern は文字列の先頭と一致し、pattern$ は文字列の末尾と一致します。

一致した部分文字列は (pattern) を使用してキャプチャできます。パターン () のない括弧は、現在の文字列の位置 (数値) をキャプチャします。

Tableライブラリ

   
table.concat(list[,sep[,i[,j]]]) 文字列リスト [i].. sep.. list [i+1].. sep… list [j] を返します。デフォルトsepは空の文字列です。既定値 i は 1、j は #list です。
table.insert(list,[pos,]value) インデックスposのリストに値を挿入します。pos のデフォルトは #list (リストの最後) です。
table.pack(…) インデックス 1 から始まるパラメータと、パラメータの総数を示すキー n を含む配列を返します。
table.remove(list[,pos]) 位置を埋めるために要素をシフトし、位置posで要素をリストから削除します。削除された要素を返します。posis #list のデフォルト (リストの最後)
table.sort(list[,comp]) リストの要素をソートします。compは、使用する比較関数です。Default for comp is <.
table.unpack(list[,i[,j]]) リスト [i] からリスト [j] までを返します。i のデフォルトは 1 で、j は #list です <c/ode>。

数学ライブラリ

さまざまな三角関数と対数関数は示されていません。

   
math.abs(x) x の絶対値を返します。
math.ceil(x) x 以上の最小の整数を返します。
math.floor(x) 最大整数 <= x を返します。
math.fmod (x, y) 商をゼロに向かって四捨五入した x/y の余りを返します。
math.huge 値 >= その他の数値。
math.max(x,…) 最大引数を返します。
math.min(x,…) 最小引数を返します。
math.modf(x) x の整数部と小数部を返します。
math.random() 0 と 1 の間の疑似乱数を返します。
math.random(m) 1 から m までの疑似乱数整数を返します。
math.random(m, n) m と n の間の疑似乱数整数を返します。
math.randomseed(x) 疑似乱数ジェネレータセットを x に設定します。
math.sqrt(x) x (x^0.5) の平方根を返します
math.acos(x) x のアークコサインを返します (ラジアン)。
math.asin(x) x のアークサインを返します (ラジアン)。
math.atan(x) x のアークタンジェント (ラジアン) を返します。
math.atan2(y, x) y/x のアークタンジェント (ラジアン) を返します。
math.cos(x) x のコサインを返します。
math.cosh(x) x の双曲線余弦を返します。
math.sin(x) x の正弦を返します。
math.sinh(x) x の双曲線正弦を返します。
math.tan(x) x のタンジェントを返します。
math.tanh(x) x の双曲線タンジェントを返します。
math.deg(x) 角度 x (ラジアンで指定) を度単位で返します。
math.exp(x) 値 e^x を返します。
math.frexp (x) x = m2e、e が整数で m の絶対値が [0.5, 1) の範囲に収まるように m と e を返します。
math.ldexp (m, e) m2e (e は整数でなければなりません) を返します。
math.log (x [, base]) 指定された底のxの対数を返します。base のデフォルトは e です。
math.pow (x, y) x^y を返します。
math.rad (x) 角度 x (度で指定) をラジアン単位で返します。
math.pi πの値。

ビットワイズライブラリ

特に明記されていない限り:

  • すべての関数は、範囲(-2^51、+2^51)の数値引数を受け入れます。
  • 各引数は 2^32 で除算された余りまで正規化され、(なんらかの方法で) 整数に切り捨てられ、最終値は [0,2^32-1] の範囲に収まります。
  • すべての結果は [0,2^32-1] の範囲にあります。
   
bit32.arshift(x,disp) 右 (+disp) または左 (-disp) に算術的にシフトされた x 個のdisp ビットを返します。
bit32.band(…) 引数のビット単位の論理和を返します。
bit32.bnot(x) x のビット単位の否定を返します。
bit32.bor(…) 引数のビット単位の OR を返します。
bit32.btest(…) 引数のビット単位のANDがゼロでない場合は true を返します。
bit32.bxor(…) 引数のビット単位排他的論理和を返します。
bit32.extract(n,field[,width]) nのfieldからfield + width - 1までのビットを返します(最上位から最下位までのビット数)。幅のデフォルトは1です。
bit32.replace(n,v,field[,width]) n のコピーを、フィールドからフィールドへのビット数 + 幅 -1 を v に置き換えたものを返します。既定の幅は 1 です。
bit32.lrotate(x,disp) 左 (+disp) または右 (-disp) に回転した x 個のディスクビットを返します。
bit32.lshift(x,disp) x 個のディスクビットを左 (+disp) または右 (-disp) にシフトして返します。
bit32.rrotate(x,disp) 右 (+disp) または左 (-disp) に回転した x 個のディスクビットを返します。
bit32.rshift(x,disp) x 個のディスクビットを右 (+disp) または左 (-disp) にシフトして返します。

オペレーティング・システム・ライブラリ

   
os.clock () CPU 時間の秒単位の近似値を返します。
os.date ([format [, time]]) 指定された文字列フォーマットに従ってフォーマットされた文字列または日付と時刻を含むテーブルを返します。
os.time ([table]) 引数なしで呼び出されたときの現在の時刻、または指定されたテーブルで指定された日付と時刻を表す時刻を返します。
os.difftime (t2, t1) 時間 t1 から時間 t2 までの秒数を返します。

NetScaler ライブラリ

   
ns.logger:level(message) レベルが「緊急」、「アラート」、「緊急」、「エラー」、「警告」、「通知」、「情報」、「デバッグ」のメッセージを記録します。パラメータは、C printf () 関数と同じです。書式文字列と、書式文字列の% 指定子に値を指定するための可変数の引数です。
NetScalerの拡張 - ライブラリリファレンス