Función: Evaluar desde diccionarioVolver

Descripción

Evalúa una expresión asignando valores a las variables desde un diccionario

Cadena de entrada

evaldic

Cadena de salida

evaldic

Uso

evaldic(<expresión>,<diccionario>[,<globalVars>[,<comoTexto>]]) | evaldic(<diccionario>)

Parámetros
# Parámetro Descripción Valor por defecto
1 expresión Expresión que depende de una o varias variables a sustituir desde el diccionario
1|2 diccionario Diccionario en el que cada entrada clave/valor se traduce en varname/valor.
En la forma individual 'evaldic(diccionario)' se evaluarán las claves como expresiones y los valores como variables como se especifica en un ejemplo abajo
3 globalVars Booleano que si es falso no añade variables de entorno a la expresión de la cadena (ver ejemplo abajo) verdadero
4 comoTexto Si es verdadero y la expresión es un texto, se evaluará el texto como una expresión falso

Ejemplos

evaldic('IMC: '+stexto(masa/sqr(estatura)),dic('{masa:100,estatura:1.8}'))

Texto: 'IMC: 30.864197530864196'

sum(evaldic(k*x+y*x+1,dic('x',3,'y',2)),k,1,10)

RealDoble: 235

sum(evaldic(k*x+y*x+1,dic('x',3,'y',2),falso),k,1,10)

FuncionException: <<<FuncionException>>> en funcion "sum": <<<FuncionException>>> en funcion "evaldic": <<<EvaluarException>>>; identificador "k" no definido. --> evaldic(Vector:[k*x+y*x+1,dic('x',3,'y',2),falso]) --> sum(Vector:[evaldic(k*x+y*x+1,dic('x',3,'y',2),falso),k,1,10])

desde cadena de texto:

evaldic('2x+1',dic('x',3),falso,falso)

Texto: '2x+1'

evaldic('2x+1',dic('x',3),falso,verdadero)

RealDoble: 7

evaluar claves de diccionario a partir de valores del diccionario:

evaldic(dic('{2+sqr(x--):{x:4},u+v:{u:[2,3],v:[4,-1]}}'))

Diccionario: {'u+v'=[6,2], '2+sqr(x--)'=11}

Desde / Última modificación

v0.4.6

Véase también…

eval, propagar