Saltar al contenido

Variables locales

Introducción

Las variables locales en Harmony son el tipo de variable que tiene un alcance más limitado. Se declaran dentro de un secuencia de comandos y solo se puede acceder a ellas dentro de ese secuencia de comandos. Por este motivo, debe utilizar una variable local solo si la variable se necesita temporalmente en el secuencia de comandos actual.

Precaución

No utilice una variable local si desea que la variable persista para su uso en otras partes del proyecto. Para su uso fuera del secuencia de comandos actual, utilice una variable global o variable del proyecto.

Crear una variable local

Dado que una variable local no puede tener un valor antes de ser definida, debe definirse antes de ser utilizada.

En el sistema, una variable local se reconoce por la ausencia del signo de dólar. $que normalmente precede al nombre de una variable global. Porque el $ está ausente, una variable local no se "ve" globalmente. Si bien una variable global se puede usar para pasar un valor entre diferentes secuencias de comandos, la variable local deja de ser visible para el sistema después de la ejecución del secuencia de comandos que la usa.

Para configurar y usar una variable local, simplemente omita el $ No se puede configurar ni recuperar una variable local con Set y Get funciones.

Nombres de variables locales

Los nombres de las variables locales pueden estar compuestos por estos caracteres: letras (a-z, A-Z), números (0-9) y guiones bajos. No se permiten otros caracteres, como puntos o guiones, y pueden causar problemas.

Ejemplos

En este ejemplo, now es una variable local y solo está disponible en este secuencia de comandos (es decir, antes de la terminación) </trans>etiqueta). Por el contrario, $tomorrow es una variable global que está disponible hasta el final de la cadena de operación actual:

<trans>
now = Now();
WriteToOperationLog("The time is " + now);
$tomorrow = now + 60*60*24;
</trans>

Dado que el alcance de las variables locales está dentro del secuencia de comandos, la denominación de la variable puede ser sencilla. Por ejemplo, las variables locales pueden denominarse now, return, myVariable, etc.

Este ejemplo recupera el valor de un nodo y, si ese valor es nulo, lo establece en la cadena "Not Set"y luego devuelve el valor:

<trans>
value = root$transaction.request$body$Calculate$input.Operand1$;
if(IsNull(value),
    value = "Not Set"
  );
value
</trans>

Este ejemplo recupera el valor de tres nodos, suma el mayor de los dos primeros valores al tercer valor y luego devuelve el tercer valor:

<trans>
value1 = root$transaction.request$body$Calculate$input.Operand1$;
value2 = root$transaction.request$body$Calculate$input.Operand2$;
value3 = root$transaction.request$body$Calculate$input.Operand3$;

if(value1 > value2,
    value3 += value1
 , //else
    value3 += value2
  );
value3
</trans>