killme2008/aviatorscript

请问,连续表达式计算时"d=a/b; d+c",当a=10, b=0,c=5时,计算结果希望等于5,如何解决?

Closed this issue · 0 comments

`public class AviatorExample {
public static void main(String[] args) {
// 注册自定义函数
AviatorEvaluator.addFunction(new SafeDivideFunction());
AviatorEvaluator.addFunction(new IsNilFunction());

    // 示例公式
    String formula = "d=a/b; d+c";

    // 编译表达式
    Expression expression = AviatorEvaluator.compile(formula);

    // 设置参数
    Map<String, Object> env = new HashMap<>();
    env.put("a", 5);
    env.put("b", 0); // 这里会引发除零
    env.put("c", 10);

    // 执行表达式
    Object result = expression.execute(env);

    // 输出结果
    System.out.println("结果: " + result);
}

}`