Áú»¢¶Ä²©

Esta es una traducci¨®n de la p¨¢gina de documentaci¨®n original en espa?ol. Ay¨²danos a mejorarla.

#1 Funciones macro

¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô general

Las funciones macro ofrecen la posibilidad de personalizar Valores de macro.

A veces una macro puede resolverse con un valor que no es necesariamente f¨¢cil de trabajar con ¨¦l. Puede ser largo o contener una subcadena espec¨ªfica que le interesar¨ªa extraer. Aqu¨ª es donde es ¨²til usar las funciones macro.

La sintaxis de una funci¨®n macro es:

µ÷&±ô³Ù;³¾²¹³¦°ù´Ç&²µ³Ù;.&±ô³Ù;´Ú³Ü²Ô³¦&²µ³Ù;(&±ô³Ù;±è²¹°ù¨¢³¾±ð³Ù°ù´Ç²õ&²µ³Ù;)°¨

»å¨®²Ô»å±ð:

  • <macro>: la macro a personalizar (por ejemplo, {ITEM.VALUE} o {#LLDMACRO})
  • <func> - la funci¨®n a aplicar
  • <par¨¢metros>: una lista delimitada por comas de par¨¢metros de funci¨®n

Los par¨¢metros deben entrecomillarse si:

  • comienzan con un espacio o comillas dobles
  • contienen par¨¦ntesis de cierre ")" o una coma

Por ejemplo:

{{TIME}.fmttime(formato,time_shift)}
       {{ITEM.VALUE}.regsub(±è²¹³Ù°ù¨®²Ô, salida)}
       {{#LLDMACRO}.regsub(±è²¹³Ù°ù¨®²Ô, salida)}

Funciones de macro admitidas

Los par¨¢metros de funci¨®n opcionales se indican con < >.

|FUNCI?N|<|<|<| |-|--------------------|--------------------|----- ---------------| |<|¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô|±Ê²¹°ù¨¢³¾±ð³Ù°ù´Ç²õ|Compatible con| |fmtnum (»å¨ª²µ¾±³Ù´Ç²õ)|<|<|<| |<|Formato num¨¦rico para controlar el n¨²mero de »å¨ª²µ¾±³Ù´Ç²õ impresos despu¨¦s del punto decimal.|»å¨ª²µ¾±³Ù´Ç²õ - el n¨²mero de »å¨ª²µ¾±³Ù´Ç²õ despu¨¦s del punto decimal. Rango v¨¢lido: 0-20 (desde Áú»¢¶Ä²© 6.0.21). No se producir¨¢n ceros finales.|{ITEM.VALUE}
{ITEM.LASTVALUE}
Macros de expresi¨®n| |fmttime (formato,<hora_shift>)|<|<|<| |<|Formato de hora.|formato - cadena de formato obligatoria, compatible con el formato de la funci¨®n strftime
time_shift - el cambio de hora aplicado a la hora antes del formateo; debe comenzar con
-<N><time_unit> o +<N><time_unit>, donde
N - el n¨²mero de unidades de tiempo para sumar o restar;
*time?_unit* - h (hora), d (d¨ªa), w (semana), M (mes) o y (a?o).
Desde Áú»¢¶Ä²© 5.4, el par¨¢metro time_shift admite operaciones de tiempo de varios pasos y puede incluir / <time_unit> para cambiar al principio de la unidad de tiempo (/d - medianoche, /w - 1er d¨ªa de la semana (lunes), /M - 1er d¨ªa del mes, etc.). Ejemplos:
-1s - hace exactamente 7 d¨ªas;
-1s/s - lunes de la semana anterior;
-1s/s+1d - martes de la semana anterior.< br>Tenga en cuenta que las operaciones de tiempo se calculan de izquierda a derecha sin prioridades. Por ejemplo, -1M/d+1h/w se analizar¨¢ como ((-1M/d)+1h)/w.|{TIME}| |iregsub (±è²¹³Ù°ù¨®²Ô,salida)|<|<|<| |<|Extracci¨®n de subcadenas mediante una coincidencia de expresi¨®n regular (no distingue entre may¨²sculas y min¨²sculas).|±è²¹³Ù°ù¨®²Ô - la expresi¨®n regular para coincidir
salida - las opciones de salida. \1 - \9 se admiten marcadores de posici¨®n para capturar grupos. \0 devuelve el texto coincidente.|{ITEM.VALUE}
{ITEM.LASTVALUE}
Macros de descubrimiento de bajo nivel (excepto en bajo nivel filtro de reglas de descubrimiento de nivel)| |regsub (±è²¹³Ù°ù¨®²Ô,salida)|<|<|<| |<|Extracci¨®n de subcadenas mediante una coincidencia de expresi¨®n regular (distingue entre may¨²sculas y min¨²sculas).|±è²¹³Ù°ù¨®²Ô - la expresi¨®n regular para coincidir
salida - las opciones de salida. \1 - \9 se admiten marcadores de posici¨®n para capturar grupos. \0 devuelve el texto coincidente.|{ITEM.VALUE}
{ITEM.LASTVALUE}
Macros de descubrimiento de bajo nivel (excepto en bajo filtro de reglas de descubrimiento de nivel)|

Si una funci¨®n se utiliza en un compatible ubicaci¨®n, pero se aplica a una macro que no admite funciones de macro, entonces la macro se eval¨²a como 'DESCONOCIDO'.

Si el ±è²¹³Ù°ù¨®²Ô no es una expresi¨®n regular correcta, entonces la macro eval¨²a a 'DESCONOCIDO' (excluyendo macros de descubrimiento de bajo nivel donde la funci¨®n se ignorar¨¢ en ese caso y la macro permanecer¨¢ sin expandir)

Ejemplos

Las formas en que se pueden utilizar las funciones macro para personalizar los valores macro se ilustra en los siguientes ejemplos sobre los valores recibidos:

Valor recibido Macro Salida
24.3413523 {{ITEM.VALUE}.fmtnum(2)} 24.34
24.3413523 {{ITEM.VALUE}.fmtnum(0)} 24
12:36:01 {{TIME}.fmttime(%B)} Octubre
12:36:01 {{TIME}.fmttime(%d %B,-1M/M)} 1 de septiembre
123L¨ªnea de registro {{ITEM.VALUE}.regsub(^[0-9]+, Problema)} Problema
123 L¨ªnea de registro {{ITEM.VALUE}.regsub("^([0-9]+)", "Problema")} Problema
123 L¨ªnea de registro {{ITEM.VALUE}.regsub("^([0-9]+)", ID del problema: \1)} ID del problema: 123
L¨ªnea de registro {{ITEM.VALUE}.regsub(".*", "ID del problema: \1")} ''ID del problema: ''
MySQL fall¨® errno 123 {{ITEM.VALUE}.regsub("^(\w+).*?([0-9]+)", " ID del problema: \1_\2 ")} '' ID del problema: MySQL_123?''
123 L¨ªnea de registro {{ITEM.VALUE}.regsub("([1-9]+", "ID del problema: \1")} *UNKNOWN* (expresi¨®n regular no v¨¢lida)
nombredecliente_1 {{#IFALIAS}.regsub("(.*)_([0-9]+)", \1)} nombre de cliente
nombre_cliente_1 {{#IFALIAS}.regsub("(.*)_([0-9]+)", \2)} 1
nombre_cliente_1 {{#IFALIAS}.regsub("(.*)_([0-9]+", \1)} {{#IFALIAS}.regsub("(.*)_ ([0-9]+", \1)} (expresi¨®n regular no v¨¢lida)
nombre_cliente_1 {$MACRO:"{{#IFALIAS}.regsub(\"(.*)_([0-9]+)\", \1)}"} {$MACRO: "nombre de cliente"}
nombre_cliente_1 {$MACRO:"{{#IFALIAS}.regsub(\"(.*)_([0-9]+)\", \2)}"} {$MACRO: "1"}
nombre_cliente_1 {$MACRO:"{{#IFALIAS}.regsub(\"(.*)_([0-9]+\", \1)}"} {$MACRO:" {{#M}.regsub(\"(.*)_([0-9]+\", \1)}"} (expresi¨®n regular no v¨¢lida)
nombre_cliente_1 "{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+)\\", \1)}\"}" "{$MACRO:\"nombre de cliente\"}"
nombre_cliente_1 "{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+)\\", \2)}\"}" "{$MACRO:\"1\"}")
nombre_cliente_1 "{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+\\", \1)}\"}" "{$MACRO:\"{{#IFALIAS}.regsub(\\"(.*)_([0-9]+\\", \1)}\"}") (expresi¨®n regular no v¨¢lida)
Ver los valores completos de los elementos

Los valores largos de las macros {ITEM.VALUE} y {ITEM.LASTVALUE} resueltas para elementos de texto/registro se truncan a 20 caracteres en algunas ubicaciones de la interfaz. Para ver los valores completos de estas macros, puede utilizar funciones de macro, por ejemplo:

{{ITEM.VALUE}.regsub("(.*)", \1)}
{{ITEM.LASTVALUE}.regsub("(.*)", \1)}

Consulte tambi¨¦n: {ITEM.VALUE} y {ITEM.LASTVALUE} detalles de la macro.