如何忽略Ruby中String中的所有引号和双引号?

时间:2010-12-07 14:49:45

标签: ruby-on-rails ruby unit-testing

我想模拟一个Web服务响应。响应是XML,包含简单引号和双引号。

响应非常大,所以这是我的解决方案:

  • 修剪响应以使其变小并反斜杠简单的引号,例如

  • 反斜杠简单的引号,例如

  • 将响应添加到文件并解析

但问题是,我想测试一个大的响应,而不是用文件创建一个资源测试文件夹。正如你可以想象的那样,反映一切都是漫长而无聊的。

我也试过三重双引号,当然不行。

你会怎么做?

3 个答案:

答案 0 :(得分:4)

您可以使用Ruby here documents

xml = <<DOC
<xml>
<food attribute="soup">'eel'</food>
</xml>
DOC

答案 1 :(得分:3)

使用%Q运算符

a = :jed

%Q| "these double quotes are ignored" for as
    long as you can type says #{a}
  |

任何起始分隔符都有效,所以如果你在黄瓜中使用表格,你可以使用反引号代替管道

答案 2 :(得分:0)

→ irb
ruby-1.9.2-p0 > str = <<-STR
ruby-1.9.2-p0"> ' single quote
ruby-1.9.2-p0"> " double quote
ruby-1.9.2-p0"> STR
 => "' single quote\n" double quote\n" 
ruby-1.9.2-p0 > 
相关问题