NetScaler 扩展 - 库参考

策略扩展支持的库列表。

  • 基本图书馆
  • 字符串库
  • 正则表达式模式-字符类
  • 正则表达式模式-模式项目
  • 表格库
  • 数学库
  • 按位库
  • 操作系统库
  • NetScaler 库

基本图书馆

   
assert(v[,message]) 当 v 为假时,发出错误并带有可选消息。
error(message) 终止函数并报告错误消息。
ipairs(a) 数组 a 的迭代器。返回每次迭代的索引和值。
pairs(t) 表 t 的迭代器。返回每次迭代的键和值。
tonumber(e[,base]) 将 e 转换为具有可选基数的数字。
tostring(v) 将 v 转换为字符串
type(v) 返回 v 的类型:数字、字符串、布尔值、表等。
getmetatable (object) 如果对象没有元表,则返回 nil。否则,如果对象的元表有一个“__metatable”字段,则返回关联的值。否则,返回给定对象的元表。
setmetatable (table, metatable) 为给定表设置元表。(您不能从 Lua 中更改其他类型的元表,只能从 C 中更改)如果元表为零,则删除给定表的元表。如果原始元表有一个“__metatable”字段,则会引发错误。
select (index, ···) 返回参数编号索引后的所有参数。如果索引是字符串“#”,则返回它收到的额外参数的总数。
pcall (f [, arg1, ···]) 在受保护模式下使用给定参数调用函数 f。它返回状态码作为第一个结果,告诉调用是否成功。如果调用成功,则它还会返回调用的所有结果,否则返回错误消息。
xpcall (f, msgh [, arg1, ···]) 此函数与 pcall 类似,不同之处在于它还接受用于错误处理的参数。
_VERSION 返回当前的解释器版本。

字符串库

   
string.byte(s[,i[,j]]) 返回 s [i] 到 s [j] 的字节值。默认 i = 1 和 j = i
string.char(…) 返回由整数参数构造的字符串。
string.find(s,pattern[,init[,plain]) 在 s 中查找正则表达式模式的第一个匹配项。返回匹配的第一个和最后一个索引或 nil。init 是起始索引,默认 1. plain = true 表示模式不是正则表达式。
string.format(form,…) 返回参数的格式化版本。
string.gmatch(s,pattern) 用于使用正则表达式模式搜索 s 的迭代器。返回匹配值。
string.gsub(s,pattern,repl[,n]) 返回 s 的副本,其中模式的所有(或 n)发生都已被 repl 替换。
string.len(s) 返回字符串长度。
string.lower(s) 返回转换为小写字符串的副本。
string.match(s,pattern[,init]) 在 s 中查找正则表达式模式的第一个匹配,并返回捕获或整个模式。init 是要启动的索引,默认 1。
string.rep(s,n[,sep]) 返回一个字符串,该字符串是 s 的 n 个副本,带有分隔符 sep,默认没有分隔符
string.reverse(s) 返回反转的字符串。
string.sub(s,i[,j]) 返回 s [i] 到 s [j] 的 s 子串,默认 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 匹配两个平衡字符 x 和 y 之间的子字符串。示例 %b () 匹配两个平衡括号之间的子字符串。
%f[set] 在任何位置匹配一个空字符串,这样下一个字符属于集合而前一个字符不属于集合。

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

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

表格库

   
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 是要使用的比较函数。comp 的默认值为 <。
table.unpack(list[,i[,j]]) 通过列表 [j] 返回列表 [i]。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) 返回 m 和 e,这样 x = m2e,e 是一个整数,m 的绝对值在 [0.5, 1) 范围内。
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(…) 返回按位或参数的参数。
bit32.btest(…) 如果参数的按位和不为零,则返回 true。
bit32.bxor(…) 返回按位排他或参数的参数。
bit32.extract(n,字段 [,宽度]) 返回 n 中的位从字段到字段 + 宽度-1(位数从最重要到最小重要)。宽度的默认值为 1。
bit32.replace(n,v,字段 [,宽度]) 返回 n 的副本,其中从字段到字段的位数 + 宽度 -1 替换为 v。默认宽度为 1。
bit32.lrotate(x,disp) 返回向左 (+disp) 或向右 (-disp) 旋转的 x 个 disp 位。
bit32.lshift (x, disp) 返回向左 (+disp) 或向右 (-disp) 移动的 x 位数。
bit32.rrotate(x,disp) 返回向右 (+disp) 或左 (-disp) 旋转的 x 个 disp 位。
bit32.rshift (x, disp) 返回向右 (+disp) 或向左 (-disp) 移动 x 位移的 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 扩展 - 库参考