aviatorscript icon indicating copy to clipboard operation
aviatorscript copied to clipboard

A high performance scripting language hosted on the JVM.

Results 121 aviatorscript issues
Sort by recently updated
recently updated
newest added

当我使用如下写法时,在后台无法获取参数列表,是空的 ![Image](https://github.com/user-attachments/assets/539cb2f7-a5ce-40c3-ade6-d62c8c72cc79) ![Image](https://github.com/user-attachments/assets/9a87350b-1c2e-432c-ac2b-429bb4707fbd) ![Image](https://github.com/user-attachments/assets/82cb91a4-a51f-4343-94f9-3cc5a6952d43) 但是我换了一种写法就可以正常获取参数列表 ![Image](https://github.com/user-attachments/assets/65508325-9b08-4ae1-9da8-3e7422ba9087) ![Image](https://github.com/user-attachments/assets/baacfaae-b8e9-4cee-887e-dd5b1bf87dbe) ![Image](https://github.com/user-attachments/assets/895f013a-1d4a-4b04-afed-3719fb88a546)

按照描述,将此option设置为false时,表达式内部的赋值应该不会修改外层我们送入的参数,但是我发现在实际执行中最终赋值还是在外层生效了。 我们使用的版本是5.2.5 是否这个开关只能控制内部临时变量不体现?无法阻止已有数据的赋值行为? 如果我们希望阻止pass-in params的重新赋值行为,除了我们自己复制一份副本以外,有其他方法吗

com.googlecode.aviator aviator 5.4.3 不支持这种语法吗?response.model_details[0].score ```java String ss = "{\"response\":{\"result_msg\":\"业务处理成功\",\"scene_infos\":[{\"decision\":\"accept\",\"scene_code\":\"ANFXFM00173867\"}],\"req_msg_id\":\"88ce66e9669042b494442326cb697fe4\",\"strategy_details\":[],\"success\":true,\"result_code\":\"OK\",\"model_details\":[{\"score\":0.4305107,\"scene_code\":\"ANFXFM00173867\"}],\"security_id\":\"risk_plus_channel|risk_plus_productNode|4527b0ed-e455-4f92-8afd-2fa766706c73\",\"security_result\":\"accept\",\"variable_details\":[]},\"sign\":\"73klOEzx0kYZ4ZFPObDR7KYzfvw=\"}"; String expr = "response.model_details[0].score"; Object result = AviatorEvaluator.execute(expr, JSON.parseObject(ss); ``` get error: ``` while parsing expression: ` response.model_details[0]^^^ ` com.googlecode.aviator.exception.ExpressionSyntaxErrorException: Syntax...

问题版本:5.4.3 测试代码(Java 17): ``` String content = "a + b;\n" + "x = a+b;\n" + // 报错行 "return x;\n" ; Expression expression = AviatorEvaluator.getInstance().compile(content, false); expression.execute(Map.of( "a", 1, "b", 2...

我现在使用aviator进行实现一个自定义的规则引擎,通过对一些逻辑表达式求值,得出最终结果。 现在有个问题是这些逻辑表达式中,有一部分是开放给用户可以编辑的,有一部分是不能编辑的。 例如现在有一个逻辑表达式:速度>0&&速度0&&速度0&&速度

请教一下: 为什么```if true {return 1;}```返回 1 但```if true {return 1;};```返回 null呢?

最典型的,如java8 Stream流式编程。 假设,我注册了几个自定义函数,分别为: trim(charSequence),对字符串进行trim处理 toStream( listOrArray, fn1, fn2, ...fnN ) ,最终输出非空Stream toList( Stream ),最终输出为List 则,java代码: ` List strings = Arrays.asList("a", "b ", " c"); List trimedStrings = strings.stream().map(String::trim).toList(); ` 可以用表达式表示为:...

语雀二维码失效了。一直找不到组织。