La mayoría de las veces, las referencias se ven de la siguiente manera:


or


El último ejemplo se puede utilizar para recurrir a un valor predeterminado en caso de que no se pueda resolver una referencia.
, por ejemplo, volvería a un valor vacío si la dirección de correo electrónico de Internet de un usuario no se puede leer desde la libreta de direcciones pública (por ejemplo, cuando un usuario está desconectado).
, por ejemplo, devolvería "0" (sin comillas) si no existe tal entrada ini.

Acciones de referencia
Al hacer referencia a otras acciones, MarvelClient le permite especificar un llamado tipo de ejecución.
En los ejemplos anteriores, los dos puntos (:) definen cómo una referencia afecta la posible ejecución de una Acción; además de usar dos puntos, una referencia también permite otros tipos de ejecución:


Hay tres tipos de ejecución (todas a especificar sin paréntesis):

 

Tipos de ejecución para acciones de referencia
: (colon)

= Ejecutar una vez.
Si la Acción a la que se hace referencia ya se ejecutó, reutilice el resultado.
Si la Acción a la que se hace referencia aún no se ha ejecutado, ejecútela.

NOTA: Hacer referencia a una acción solo puede traerla dentro del mismo tipo de ejecución, pero NO desde un tipo de ejecución posterior.
Si una acción ya se ejecutó en un tipo de ejecución anterior, el resultado se puede reutilizar en cualquier tipo de ejecución posterior.


Ejemplo:
Tanto la acción A como la B hacen referencia a la acción C mediante dos puntos (:).
La acción A ejecutará C, la acción B reutilizará el resultado de la ejecución anterior de C.
En este caso, las Acciones A y B obtendrán el mismo resultado de la Acción C.

! (signo de exclamación)

= Ejecutar siempre.
(Re-) Ejecutar acción siempre que se haga referencia.

NOTA: Hacer referencia a una acción solo puede traerla dentro del mismo tipo de ejecución, pero NO desde un tipo de ejecución posterior.
Si una acción ya se ejecutó en un tipo de ejecución anterior, el resultado se puede reutilizar en cualquier tipo de ejecución posterior.


Ejemplo:
Tanto la acción A como la B hacen referencia a la acción C mediante un signo de exclamación (!).
La acción A ejecutará C, la acción B también ejecutará C.
En este caso, las acciones A y B pueden obtener resultados diferentes de la acción C.

| (tubo)= Nunca Ejecutar.
Use el resultado solo si ya se ejecutó.

Ejemplo:
La acción A hace referencia al resultado de la acción B usando dos puntos (= asegúrese de que se ejecute).
La Acción C luego hace referencia al resultado de la Acción B nuevamente usando un | (= usar el resultado de la Acción B si se ejecutó).
En caso de que un usuario no pueda ver o ejecutar la Acción A, la Acción C no se ejecutará en este ejemplo, ya que el resultado de la Acción B no se puede resolver.

TENGA EN CUENTA que al hacer referencia a cualquier otra cosa que no sean Acciones (por ejemplo, os: o nota:, env: o ini:) también permite el uso de los tres tipos de ejecución, esto no afecta el volver a calcular ningún resultado.
<
notas!disk_client_free_mb>, por ejemplo, no volverá a evaluar el espacio libre en disco, sino que solo devolverá el espacio libre en disco en el directorio del programa Notes desde que se inició el cliente.
Para obtener un resultado en tiempo real, use una referencia del sistema de archivos en su lugar.
Naturalmente, las referencias ini: y env: siempre devuelven el resultado correspondiente en tiempo real, incluso cuando se usan dos puntos (:) para el tipo de ejecución.


Se recomienda utilizar solo dos puntos (:) para referencias de variables de configuración normales, ya que el comportamiento de ! y | puede cambiar en el futuro releases.