请问怎么解析用户输入表达式

2020 年 1 月 13 日
 pmispig
我有一个值 i :=200,比如用户输入判断条件 " >= 100"
怎么把用户的输入转化为代码逻辑,
```
if (i >= 100 ){
fmt.Println("true")
}
```

是不是要先用正则切割,再做字符串判断
3811 次点击
所在节点    Go 编程语言
9 条回复
kumasama
2020 年 1 月 13 日
你这让用户输入的条件得限制的严格一些吧
secondwtq
2020 年 1 月 13 日
当然是用正则,Go 的正则库很好用
yjhatfdu2
2020 年 1 月 13 日
wafm
2020 年 1 月 13 日
就是脚本解释了呗
lihongjie0209
2020 年 1 月 13 日
生成脚本代码, 然后找个执行引擎执行就好了
ShinichiYao
2020 年 1 月 14 日
用户输入“≈100”怎么破?
luozic
2020 年 1 月 14 日
不复杂的 praser+状态工厂。 复杂的那就是一个 dsl
pmispig
2020 年 1 月 14 日
@yjhatfdu2 想要的就是这个,多谢~
zunceng
2020 年 1 月 14 日
https://github.com/chai2010/calculator

之前看到大佬写的 也是 yacc

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/637581

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX