Extensiones de Citrix ADC: Referencia de bibliotecas

La lista de bibliotecas admitidas en las extensiones de directivas.

  • Biblioteca básica
  • Biblioteca de cadenas
  • Patrones de expresión regular: Clases de caracteres
  • Patrones de expresión regular: Elementos de patrón
  • Biblioteca de tablas
  • Biblioteca de matemáticas
  • Biblioteca bit a bit
  • Biblioteca de sistemas operativos
  • Biblioteca Citrix ADC

Biblioteca básica

   
assert(v[,message]) Emitir un error, con un mensaje opcional, cuando v es falso.
error(message) Termina una función e informa del mensaje de error.
ipairs(a) Iterador para una matriz a. Devuelve un índice y un valor para cada iteración.
pairs(t) Iterador para una tabla t. Devuelve una clave y un valor para cada iteración.
tonumber(e[,base]) Convierte e en un número, con una base opcional.
tostring(v) Convierte v en una cadena
type(v) Devuelve el tipo de v: Número, cadena, booleano, tabla, etc.
getmetatabla (object) Devuelve nil si el objeto no tiene una metatabla. De lo contrario, si la metatabla del objeto tiene un campo “__metatabla”, devuelve el valor asociado. De lo contrario, devuelve la metatabla del objeto dado.
setmetatabla (table, metatabla) Establece la metatabla para la tabla dada. (No puede cambiar la metatabla de otros tipos de Lua, solo desde C.) Si metatabla es nulo, elimina la metatabla de la tabla dada. Si la metatabla original tiene un campo “__metatabla”, genera un error.
select (index, ···) Devuelve todos los argumentos después del índice de número de argumento. Si el índice es la cadena “#”, entonces devuelve el número total de argumentos adicionales que recibió.
pcall (f [, arg1, ···]) Llama a la función f con los argumentos dados en modo protegido. Devuelve el código de estado como primer resultado que indica si la llamada tuvo éxito o no. Si la llamada tuvo éxito, entonces junto con el código de estado también devuelve todos los resultados de la llamada, de lo contrario devuelve un mensaje de error.
xpcall (f, msgh [, arg1, ···]) Esta función es similar a pcall, excepto que también toma un argumento para el manejo de errores.
_VERSION Devuelve la versión actual del intérprete.

Biblioteca de cadenas

   
string.byte(s[,i[,j]]) Devuelve los valores de bytes de s[i]a s[j]. Predeterminado i = 1 y j = i
cadena.char (…) Devuelve una cadena construida a partir de los parámetros enteros.
string.find(s,pattern[,init[,plain]) Busca la primera coincidencia de un patrón de expresión regular en s. Devuelve el primer y último índice de coincidencia o nil. init es índice para empezar, por defecto 1. plain = true significa patrón no es una expresión regular.
string.format(form,…) Devuelve una versión formateada de los parámetros.
string.gmatch(s,pattern) Iterador para buscar s con el patrón de expresiones regulares. Devuelve valores coincidentes.
string.gsub(s,pattern,repl[,n]) Devuelve una copia de s en la que todas (o n) ocurrencias del patrón han sido reemplazadas por repl.
string.len(s) Devuelve la longitud de la cadena.
string.lower(s) Devuelve una copia de la cadena convertida en minúsculas.
string.match(s,pattern[,init]) Busca la primera coincidencia del patrón de expresiones regulares en s y devuelve las capturas o el patrón completo. init es el índice a comenzar, predeterminado 1.
string.rep(s,n[,sep]) Devuelve una cadena que es n copias de s, con separador sep, por defecto sin separador
string.reverse(s) Devuelve una cadena que se invierte.
string.sub(s,i[,j]) Devuelve la subcadena de s desde s[i] a s[j]; por defecto j es el final de la cadena.
string.upper(s) Devuelve una copia de la cadena convertida en mayúsculas.
string.dump (function) Devuelve una cadena que contiene una representación binaria de la función dada.

Patrones de expresión regular: Clases de caracteres

   
x el carácter x, excepto los caracteres mágicos ^$ ()%. [] *+-?)
. cualquier carácter
%a cualquier letra
%c cualquier carácter de control
%d cualquier dígito
%g cualquier carácter imprimible excepto el espacio
%l cualquier letra minúscula
%p cualquier carácter de puntuación
%s cualquier carácter de espacio en blanco
%u cualquier letra mayúscula
%w cualquier letra alfanumérica
%x un carácter mágico escapado x (por ejemplo%%)
[set] un conjunto de caracteres: Secuencia de caracteres individuales, rangos x-y, y% clases
[^set] caracteres no incluidos en el conjunto.

Patrones de expresión regular: Elementos de patrón

   
X una clase de carácter
X* 0 o más repeticiones más largas de caracteres en X
X+ 1 o más repeticiones de caracteres en X
X- 0 o más repeticiones más cortas de caracteres en X
X? 0 o 1 carácter en X
%n n=1 a 9; coincide con la enésima cadena capturada
%bxy coincide con la subcadena entre dos caracteres balanceados x e y. El ejemplo%b () coincide con la subcadena entre dos paréntesis equilibrados.
%f[set] coincide con una cadena vacía en cualquier posición de tal manera que el siguiente carácter pertenece al conjunto y el carácter anterior no pertenece al conjunto.

Un patrón es una secuencia de elementos de patrón. ^pattern coincide con el comienzo de una cadena y pattern$ coincide con el final de la cadena.

Las subcadenas coincidentes se pueden capturar mediante (patrón). Los paréntesis sin patrón () capturan la posición actual de la cadena (un número).

Biblioteca de tablas

   
table.concat(list[, sep [, i [, j]]]) Devuelve una lista de cadenas[i] .. sep.. list[i+1] .. sep… list[j]. Por defecto sep es la cadena vacía. El valor predeterminado i es 1, j es #list.
table.insert(list,[pos,]value) Inserta el valor en la lista en pos del índice. El valor predeterminado para pos es #list (final de la lista).
tabla.pack (…) Devuelve una matriz que contiene los parámetros que comienzan en el índice 1, y una clave n con el número total de parámetros.
table.remove(list[, pos]) Elimina de la lista el elemento en posición pos, desplazando los elementos para llenar la posición. Devuelve el elemento eliminado. Predeterminado para posis #list (final de la lista).
table.sort(list[, comp]) Ordenar los elementos de la lista en su lugar. comp es la función de comparación a usar. El valor predeterminado para la comp es <.
table.unpack(list[,i[,j]]) Devuelve list[i] a través de list[j]. El valor predeterminado para i es 1 y j es #list <c/ode>.

Biblioteca de matemáticas

Diversas funciones trigonométricas y logarítmicas no se muestran.

   
math.abs (x) Devuelve el valor absoluto de x.
math.ceil (x) Devuelve el entero más pequeño >= x.
math.floor (x) Devuelve el entero más grande <= x.
math.fmod (x, y) Devuelve el resto de x/y redondeando el cociente hacia cero.
math.huge Un valor >= cualquier otro número.
math.max (x,…) Devuelve el argumento maximum.
math.min (x,…) Devuelve el argumento mínimo.
math.modf (x) Devuelve las partes integrales y fraccionarias de x.
math.random () Devuelve un número pseudo-aleatorio entre 0 y 1.
math.random (m) Devuelve un entero pseudo-aleatorio entre 1 y m.
math.random (m, n) Devuelve un entero pseudo-aleatorio entre m y n.
math.aleatorseed (x) Establece el generador de números pseudo-aleatorios establecido en x.
math.sqrt (x) Devuelve la raíz cuadrada de x (x^0.5)
math.acos (x) Devuelve el arco coseno de x (en radianes).
math.asin (x) Devuelve el arco seno de x (en radianes).
math.atan (x) Devuelve el arco tangente de x (en radianes).
math.atan2 (y, x) Devuelve el arco tangente de y/x (en radianes).
math.cos (x) Devuelve el coseno de x.
math.cosh (x) Devuelve el coseno hiperbólico de x.
math.sin (x) Devuelve el seno de x.
math.sinh (x) Devuelve el seno hiperbólico de x.
math.tan (x) Devuelve la tangente de x.
math.tanh (x) Devuelve la tangente hiperbólica de x.
math.deg (x) Devuelve el ángulo x (en radianes) en grados.
math.exp (x) Devuelve el valor e^x.
math.frexp (x) Devuelve m y e tal que x = m2e, e es un entero y el valor absoluto de m está en el rango [0.5, 1).
math.ldexp (m, e) Devuelve m2e (e debe ser un entero).
math.log (x [, base]) Devuelve el logaritmo de x en la base dada. El valor predeterminado para base es e.
math.pow (x, y) Devuelve x^y.
math.rad (x) Devuelve el ángulo x (dado en grados) en radianes.
Math.pi El valor de π.

Biblioteca bit a bit

A menos que se indique lo contrario:

  • Todas las funciones aceptan argumentos numéricos en el rango (-2^51, +2^51).
  • Cada argumento se normaliza al resto de su división por 2^32 y se trunca a un entero (de alguna manera no especificada), de modo que su valor final cae en el intervalo [0,2^32: 1].
  • Todos los resultados están en el intervalo [0,2^32: 1].
   
bit32.arshift (x, disp) Devuelve x bits disp movidos aritméticamente a la derecha (+disp) o a la izquierda (-disp).
bit32.band (…) Devuelve el bit a bit y de los argumentos.
bit32.bnot (x) Devuelve la negación bit a bit de x.
bit32.bor(…) Devuelve el bit a bit o de los argumentos.
bit32.btest(…) Devuelve verdadero si el bit a bit y de los argumentos no es cero.
bit32.bxor(…) Devuelve la exclusiva bit a bit o de los argumentos.
bit32.extract(n,field[, ancho]) Devuelve los bits en n de campo a campo + ancho: 1 (número de bits del más al menos significativo). El valor predeterminado para el ancho es 1.
bit32.replace(n,v,field[, ancho]) Devuelve una copia de n con bits de campo a campo + ancho -1 reemplazado por v. Ancho predeterminado es 1.
bit32.lrotate (x, disp) Devuelve x bits de disp girados a la izquierda (+disp) o a la derecha (-disp).
bit32.lshift (x, disp) Devuelve x bits disp desplazados a la izquierda (+disp) o a la derecha (-disp).
bit32.rrotate (x, disp) Devuelve x bits de disp girados a la derecha (+disp) o a la izquierda (-disp).
bit32.rshift (x, disp) Devuelve x bits disp desplazados a la derecha (+disp) o a la izquierda (-disp).

Biblioteca del sistema operativo

   
o.clock () Devuelve una aproximación de la cantidad en segundos del tiempo de CPU.
os.date ([formato [, hora]]) Devuelve una cadena o una tabla que contiene fecha y hora, con formato de acuerdo con el formato de cadena dado.
os.time ([tabla]) Devuelve la hora actual cuando se llama sin argumentos, o una hora que representa la fecha y hora especificadas por la tabla dada.
os.difftime (t2, t1) Devuelve el número de segundos desde el tiempo t1 hasta el tiempo t2.

Biblioteca Citrix ADC

   
ns.logger:level (mensaje) Para registrar mensajes donde el nivel sea de emergencia, alerta, crítica, error, advertencia, aviso, información o depuración. Los parámetros son los mismos que la función C printf (): Una cadena de formato y un número variable de argumentos para proporcionar valores para los especificadores% en la cadena de formato.