我想要在Clojure中创建算术表达式的简化程序,并且对这种语言不熟悉。
因此,例如:
in: "2x + 6y - (12 + (5x - 3y)) + 4"
simplified: "- 3x + 9y - 8".
因此,我的尝试是使用regexp将表达式解析为嵌套表达式的分层向量,如下所示:
["5x-3y" "12 + <?>" "2x + 6y - <?> + 4"] ;; <?> is evaluated item from
previous step
然后依次评估它们。
我感觉它很烂,一些建议会有所帮助。