Función: ScriptVolver

Descripción

Ejecuta un script JMEScript y devuelve el resultado o, si no devuelve valor, permite retornar un valor por defecto. Además permite el paso de parámetros al script para usarlo como un módulo o función.

Cadena de entrada

script

Cadena de salida

SCRIPT

Uso

script(<cod_fuente>[,<varmap>[,<valor_defecto>[,<tiempo_max>]]])

Parámetros
# Parámetro Descripción Valor por defecto
1 cod_fuente Código JMEScript a ejecutar. Se puede introducir como un vector de cadenas de texto en el que cada cadena es una línea del script o como un único texto (con saltos de línea obligatorios)
2 varmap Mapa de variables externas; cada clave es un texto con un nombre válido de variable y el valor el terminal asignado a la variable dic([])
3 valor_defecto En caso de que el script no devuelva un valor, se asignará este valor (o se devolverá error si no se especifica este valor)
4 tiempo_max Máximo tiempo de ejecución del script en milisegundos antes de lanzar una excepción. Un valor infinito o negativo no activará el temporizador.

Ejemplos



script(archivotxt('test.jmes',verdadero))

Texto: 'Ok'



script(archivotxt('lib.jmes'),dic([]),'Biblioteca cargada')

Texto: 'Biblioteca cargada'

Si se introducen las líneas de código como vector, es necesario pasar el mapa de variables (aunque sea vacío):

script(['lista:=[randint(1,6)]','mientras cola(lista)!=6 inicio:','lista;=randint(1,6)','fin','devolver lista'],dic([]))

VectorEvaluado: [3,3,2,5,1,5,5,1,1,2,1,4,3,3,2,2,5,1,6]

Script que recibe una variable externa, en caso contrario inicializa por defecto mediante indefinido :


script(archivotxt('palindromo.jmes'),dic([]))

Texto: 'ALOH ODNUM'

script(archivotxt('palindromo.jmes'),dic('text','Euler Galois Russell'))

Texto: 'RELUE SIOLAG LLESSUR'

Bucle infinito:

script(['mientras verdadero inicio:','fin'],dic([]),0,1000)

FuncionException: <<<FuncionException>>> en funcion "script": Tiempo excedido en script: 1000ms --> script(Vector:[['mientras verdadero inicio:','fin'],dic([]),0,1000])

Desde / Última modificación

v0.5.0