Citrix ADC扩展库参考

策略扩展中支持的库列表。

  • 基本的库
  • 字符串库
  • 正则表达式模式-字符类
  • 正则表达式模式-模式项
  • 表库
  • 数学库
  • 位库
  • 操作系统库
  • Citrix ADC图书馆

基本的库

断言(v[信息]) 当v为false时,发出一个带有可选消息的错误。
错误(消息) 终止函数并报告错误消息。
ipairs (a) 数组的迭代器。每次迭代返回一个索引和值。
双(t) 表t的迭代器。每次迭代返回一个键和值。
当时(e [,]) 将e转换为具有可选基数的数字。
tostring (v) 将v转换为字符串
类型(v) 返回v的类型:number, string, boolean, table,等等。
getmetatable(对象) 如果对象没有元表则返回nil。否则,如果对象的元表有一个" __metatable "字段,则返回相关的值。否则,返回给定对象的元表。
元表setmetatable(表) 设置给定表的元表。(你不能在Lua中更改其他类型的元表,只能在c中更改)如果metatable为nil,则删除给定表的metatable。如果原始元表有一个" __metatable "字段,则会引发错误。
选择(指数,···) 返回所有参数后的参数编号索引。如果index是字符串" # ",则返回接收到的额外参数的总数。
Pcall (f [, arg1,···]) 在保护模式下使用给定参数调用函数f。它返回状态码作为第一个结果,告诉调用是否成功。如果调用成功,则连同状态码一起返回调用的所有结果,否则返回错误消息。
Xpcall (f, MSGH [, arg1,···]) 这个函数类似于pcall,除了它也接受一个用于错误处理的参数之外。
_VERSION 返回当前解释器版本。

字符串库

string.byte (s[我[j]]) 返回s[i]到s[j]的字节值。默认i = 1和j = i
string.char(…) 返回由整型参数构造的字符串。
string.find (s模式[init(一般) 在s中查找正则表达式模式的第一个匹配项。返回match或nil的第一个和最后一个索引。Init是启动索引,默认为1。Plain = true表示模式不是正则表达式。
string.format(形式,…) 返回参数的格式化版本。
string.gmatch (s模式) 用于使用正则表达式模式搜索s的迭代器。返回匹配的值。
string.gsub (s模式repl [n]) 返回s的一个副本,其中所有(或n)出现的模式已被repl替换。
string.len (s) 返回字符串长度。
string.lower (s) 返回转换为小写的字符串的副本。
string.match (s、模式(init) 在s中查找正则表达式模式的第一个匹配项,并返回捕获的内容或整个模式。Init是启动的索引,默认为1。
string.rep (s、n [9]) 返回s的n个副本的字符串,带分隔符sep,默认不带分隔符
string.reverse (s) 返回s反转的字符串。
string.sub(年代,我[j]) 返回s从s[i]到s[j]的子字符串,默认j是字符串的结尾。
string.upper (s) 返回转换为大写的字符串的副本。
字符串。转储(函数) 返回包含给定函数的二进制表示的字符串。

正则表达式模式-字符类

x 字符x,除了魔法字符^$()%.[]*+-?)
任何字符
%的 任何的信
% c 任何控制字符
% d 任何数字
% g 除空格外的任何可打印字符
% l 任何一个小写字母
% p 任何标点符号字符
% s 任何空白字符
% u 任何大写字母
% w 任何alphanumber信
% x 转义的魔法字符x(例如%%)
(设置) 一组字符:单个字符序列,x-y范围,和%类
(^集) 不在集合中的字符。

正则表达式模式-模式项

X 一个字符类
X * X中0个或更多最长的字符重复
X + X中字符的一次或多次重复
X - X中0个或更多最短的字符重复
X ? X中的0或1个字符
% n n = 1到9;匹配第n个捕获的字符串
% bxy 匹配两个平衡字符x和y之间的子字符串。例如%b()匹配两个平衡括号之间的子字符串。
% f[设置] 在任何位置匹配空字符串,使下一个字符属于set,而上一个字符不属于set。

模式是模式项的序列。^pattern匹配字符串的开头,pattern$匹配字符串的结尾。

可以使用(pattern)捕获匹配的子字符串。没有pattern()的括号捕获当前字符串的位置(一个数字)。

表库

table.concat(列表[9月,[我[j]]]) 返回一个字符串列表[i] ..9 . .列表(i + 1) . .九月…列表[j]。默认sep是空字符串。默认i是1,j是#list。
table.insert(列表,(pos)值) 在列表的索引pos处插入值。pos的默认值是#list(列表的末尾)。
table.pack(…) 返回一个数组,其中包含从索引1开始的参数,以及包含参数总数的键n。
table.remove(列表(pos)) 从列表中移除位置为pos的元素,移动元素以填充该位置。返回被删除的元素。posis# list的默认值(列表的结束)。
table.sort(列表(,comp)) 对列表中的元素进行适当的排序。Comp是要使用的比较函数。comp的默认值是<。
table.unpack(列表,我[j]]) 返回list[i]到list[j]。i的默认值是1,j是#list

数学库

各种三角函数和对数函数没有显示。

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之间的伪随机整数。
数学。随机(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的arctan(以弧度为单位)。
数学。量化(y, x) 返回y/x的arctan(以弧度为单位)。
math.cos (x) 返回cosx。
math.cosh (x) 返回双曲余弦x。
sin (x) 返回sin 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) 返回m和e,使x = m2e, e是一个整数,m的绝对值在范围[0.5,1)。
数学。ldexp (m, e) 返回m2e (e应该是一个整数)。
Math.log (x [, base]) 返回给定底数下x的对数。base的默认值是e。
数学。战俘(x, y) 返回x ^ y。
数学。rad (x) 返回以弧度为单位的角度x(以度为单位)。
math.pi π的值。

位库

,除非另有说明:

  • 所有函数都接受范围为(-2^51,+2^51)的数值参数。
  • 每个参数都被规范化为其除2^32的余数,并被截断为整数(以某种未指定的方式),因此其最终值落在[0,2^32 - 1]范围内。
  • 所有结果都在[0,2^32 - 1]的范围内。
bit32.arshift (x, disp) 返回x算术偏移的disp位到右边(+disp)或左边(-disp)。
bit32.band(…) 返回参数的位和。
bit32.bnot (x) 返回x的按位反式。
bit32.bor(…) 返回参数的位或。
bit32.btest(…) 如果参数的位和不为零则返回true。
bit32.bxor(…) 返回参数的位排他或。
bit32.extract (n、字段(宽度) 返回n中从字段到字段+ width - 1(从最高到最低有效位数的位数)的位。默认宽度为1。
bit32.replace (n、v、字段(宽度)) 返回一个n的副本,其中从字段到字段+宽度-1的位被v替换。默认宽度为1。
bit32.lrotate (x, disp) 返回左边(+disp)或右边(-disp)的x旋转的disp位。
bit32.lshift (x, disp) 返回x位移到左边(+disp)或右边(-disp)。
bit32.rrotate (x, disp) 返回x向右(+disp)或向左(-disp)旋转的disp位。
bit32.rshift (x, disp) 返回x位移到右边(+disp)或左边(-disp)。

操作系统库

操作系统。钟() 返回以秒为单位的CPU时间的近似值。
操作系统。日期([格式[,时间]]) 返回一个包含日期和时间的字符串或表,根据给定的字符串格式进行格式化。
操作系统。时间((表)) 返回不带参数调用时的当前时间,或表示给定表指定的日期和时间的时间。
操作系统。difftime (t1, t2) 返回从t1到t2的秒数。

Citrix ADC图书馆

ns.logger:级别(消息) 记录级别为紧急、警报、严重、错误、警告、通知、信息或调试的消息。参数与C printf()函数相同:一个格式字符串和一个可变数量的参数,用于为格式字符串中的%说明符提供值。
Citrix ADC扩展库参考