如何从检查结果中获取字符串?

时间:2013-06-24 02:02:56

标签: ruby

我知道我可以使用eval来取回字符串,如下所示:

"".inspect  == "\"\"" # true
eval("\"\"") == ""    # true

但除了eval之外,还有另外一种方法吗?

2 个答案:

答案 0 :(得分:2)

在您的情况下,""是一个空字符串。 "\"\""是完全不同的东西:一个字符串,当它被送到某个东西时,会产生你的""空字符串。在这种情况下,这个东西就是Ruby解释器。换句话说,"\"\""转储具体旨在由Ruby解释器,evalinstance_evalclass_eval或{{ 1}}命令行,或ruby,或者......

即使有另一种方法,这种方式最终只会模仿Ruby解释器。所以我敢说,不,以另一种方式做到这一点并没有多大意义。

答案 1 :(得分:1)

  

但除了eval之外,还有另一种方法吗?

是的可能,请使用YAML

查看以下内容
require 'yaml'

YAML.load("\"\"") # => ""
YAML.load("\"\"") == "" # => true