Calculator
El Calculator es un componente sencillo que permite evaluar expresiones matemáticas simples directamente desde tu panel de control. Solo necesitas introducir la expresión y el componente devuelve el resultado numérico o un mensaje de error si la expresión no es válida.
¿Cómo funciona?
El componente analiza la expresión que introduces usando el módulo ast
de Python, que convierte la cadena en un árbol de sintaxis abstracta. Luego recorre ese árbol y realiza las operaciones básicas (+
, -
, *
, /
, **
). Solo se permiten estos operadores; cualquier intento de usar funciones como sqrt()
o sin()
generará un error. Si la expresión contiene una división por cero, el componente devuelve un mensaje claro indicando el problema.
Entradas
Campos de Entrada
- Expression: La expresión aritmética que quieres evaluar (por ejemplo,
4*4*(33/22)+12-20
).
Esta entrada acepta texto plano y se evalúa localmente en el servidor de Nappai.
Salidas
- Data: Resultado de la evaluación. Si la expresión es válida, la salida contiene un campo
result
con el valor numérico. Si hay un error, la salida incluye un campoerror
y elinput
original para que puedas depurar. - Tool: Un objeto que permite que otros componentes o flujos de trabajo invoquen la misma lógica de cálculo de forma programática.
Ejemplo de Uso
- Arrastra el componente Calculator a tu flujo de trabajo.
- En el campo Expression, escribe:
4*4*(33/22)+12-20
- Ejecuta el flujo.
- La salida Data mostrará algo como:
{"result": "12.545455"}
Si introduces una expresión inválida, por ejemplo 4*/2
, la salida será: json
{“error”:“Invalid expression: unexpected EOF while parsing (
Consejos y Mejores Prácticas
- Usa paréntesis para controlar el orden de las operaciones y evitar confusiones.
- Evita dividir por cero; si necesitas comprobarlo, añade una condición previa en tu flujo.
- Mantén las expresiones simples; el componente no soporta funciones trigonométricas ni logaritmos.
- Si vas a usar el resultado en otro componente, conecta la salida Data directamente a la entrada correspondiente.
Consideraciones de Seguridad
- El componente evalúa expresiones localmente y no ejecuta código arbitrario, por lo que no hay riesgo de inyección de código.
- No se permiten llamadas a funciones externas; solo se procesan operadores aritméticos básicos.
- En caso de errores, el componente devuelve mensajes claros sin exponer información sensible del sistema.