Variables

Las variables contienen valores que pueden cambiar durante la ejecución de la extensión. Debido a la tipificación dinámica, cualquier variable puede contener valores de cualquier tipo. No hay declaraciones de tipos para las variables. En cambio, el tipo de una variable se determina en tiempo de ejecución. De hecho, el tipo de valor de una variable puede cambiar durante la ejecución, aunque no es una práctica recomendada. Inicialmente, una variable tiene el valor cero.

Los nombres de las variables son identificadores, al igual que las cadenas de letras, dígitos y guiones bajos que no comienzan por un dígito. Ejemplos: headers, combined_headers.

Variables globales

En Lua, las variables que no se declaran de otro modo son globales dentro del programa. Sin embargo, las variables globales no están permitidas en las funciones de extensión de directivas, porque hay varios motores de paquetes en los que se puede ejecutar una función y cada motor de paquetes tiene su propia memoria.

Si usas una variable global en tu extensión, aparecerá un error de tiempo de ejecución: intenta actualizar o crear un informe global en /var/log/ns.log.

Los errores tipográficos en los nombres de las variables son un problema potencial, porque la variable con el error tipográfico se interpretará como otra variable global y no provocará un error de sintaxis como en lenguajes como C o Java. Como se indicó anteriormente, en su lugar aparecerá un error de tiempo de ejecución.

Variables locales

Se puede declarar que una variable es local para un bloque de sentencias, como una función. Esto se hace mediante el nombre de la variable local. La variable tendrá un alcance en el bloque, es decir, solo existirá dentro del bloque. La declaración local puede asignar opcionalmente un valor a la variable.

Ejemplos:

encabezados locales = {} encabezados combinados locales = {}

Variables