红宝石中是否有eval?

时间:2013-09-20 07:02:31

标签: python ruby

ruby​​有像pythons eval这样的东西吗?我正在搜索谷歌,我不知道这是我如何搜索但我找不到任何东西或如何使用它如果有一个

在python中我会喜欢这个

def doEval(object):
    return repr(eval(object))

上面的代码你会在python的空闲或者什么东西并运行doEval('print(“hello”)')它会打印“hello”然后返回“None”来表示它被执行了,在ruby中我不知道介意如果它不做零,但我希望它能够评估

红宝石中有这样的东西吗?感谢。

2 个答案:

答案 0 :(得分:6)

Googling "ruby eval" quickly reveals that the answer is yes.

  

eval(string [,binding [,filename [,lineno]]])→obj

     

评估 string 中的Ruby表达式。如果给出了绑定,那么   必须是Binding对象,评估在其上下文中执行。   如果存在可选的文件名 lineno 参数,则会出现   在报告语法错误时使用。

答案 1 :(得分:2)

试试这个:

command = "puts 1"
eval(command)

http://www.ruby-doc.org/core-2.0.0/Kernel.html#method-i-eval