加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby评估没有eval?

发布时间:2020-12-17 03:55:03 所属栏目:百科 来源:网络整理
导读:如何在不使用eval的情况下评估数学字符串? 例: mathstring = "3+3" 无论如何,可以在不使用eval的情况下进行评估? 也许是正则表达式的东西..? 解决方法 你必须要么或者评估它,要么解析它;因为你不想评估: mathstring = '3+3'i,op,j = mathstring.scan(/(
如何在不使用eval的情况下评估数学字符串?

例:

mathstring = "3+3"

无论如何,可以在不使用eval的情况下进行评估?

也许是正则表达式的东西..?

解决方法

你必须要么或者评估它,要么解析它;因为你不想评估:

mathstring = '3+3'
i,op,j = mathstring.scan(/(d+)([+-*/])(d+)/)[0] #=> ["3","+","3"]
i.to_i.send op,j.to_i #=> 6

如果你想实现更复杂的东西你可以使用RubyParser(因为@LBg写了here – 你也可以看看其他答案)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读