【发布时间】:2023-03-05 16:15:01
【问题描述】:
我需要一个界面来在 Web 应用程序中构建规则。需要维护状态,我想知道存储嵌套逻辑表达式的最合适方法是什么(示例 (a>b && a>c) || (a==0))
JSON 是否足以表示此类表达式,或者是否有任何替代方法可以实现相同的效果。
在构建表达式时对用户没有任何限制。
【问题讨论】:
标签: javascript json arithmetic-expressions
我需要一个界面来在 Web 应用程序中构建规则。需要维护状态,我想知道存储嵌套逻辑表达式的最合适方法是什么(示例 (a>b && a>c) || (a==0))
JSON 是否足以表示此类表达式,或者是否有任何替代方法可以实现相同的效果。
在构建表达式时对用户没有任何限制。
【问题讨论】:
标签: javascript json arithmetic-expressions
在 JSON 中表示表达式有两种方式:
作为纯字符串。这通常效果很好,易于调试和理解:{"expr":"(a>b && a>c) || (a==0)"}
作为解析树。一般来说,解析树充其量是难以理解的,而且通常无法调试(就像往常一样,“这将花费太多精力”)。
如果你采用解析树的方法,那么你需要定义 JSON 片段来表示树的每一部分,然后递归地构建它。
如果你不知道我在说什么:我强烈建议解决方案 #1。
【讨论】: