0

ruby 有类似 python eval 的东西吗?我正在搜索谷歌,我不知道这是否是我正在搜索的方式,但我在上面找不到任何东西,或者如果有的话如何使用它

在python中我会这样

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

上面的代码你会在 python 的空闲或其他东西中执行并运行 doEval('print("hello")') 它会打印“hello”然后返回“None”表示它已执行,在 ruby​​ 中我不介意它不为零,但我希望它评估

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

4

2 回答 2

6

谷歌搜索“ruby eval”很快就会发现答案是肯定的。

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

计算字符串中的 Ruby 表达式。如果给定绑定,它必须是一个Binding对象,则在其上下文中执行评估。如果存在可选的filenamelineno参数,它们将在报告语法错误时使用。

于 2013-09-20T07:14:27.010 回答
2

试试这个:

command = "puts 1"
eval(command)

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

于 2013-09-20T07:28:51.143 回答