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…