Как игнорировать все кавычки и двойные кавычки в строке в Ruby? - PullRequest
1 голос
/ 07 декабря 2010

Я хотел бы посмеяться над ответом веб-службы.Ответ представляет собой XML и содержит как простые, так и двойные кавычки.

Ответ довольно большой, поэтому вот мои решения:

  • обрежьте ответ, чтобы сделать его меньше, и коснитесь простых цитат, например

  • ставит обратную косую черту в простые кавычки, например

  • добавляет ответ в файл и анализирует его

Но дело в том,Я хотел бы протестировать большой ответ, а не создавать папку для тестирования ресурсов с файлом.И, как вы можете себе представить, обратная косая черта все длинная и скучная.

Я также попробовал тройную двойную кавычку, не работает, конечно.

Как бы вы это сделали?

Ответы [ 3 ]

4 голосов
/ 07 декабря 2010

Вы можете использовать Ruby здесь документы .

xml = <<DOC
<xml>
<food attribute="soup">'eel'</food>
</xml>
DOC
3 голосов
/ 07 декабря 2010

используйте оператор %Q

a = :jed

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

все начальные и конечные разделители работают, поэтому, если вы используете, например, таблицы в огурце, вы можете использовать обратные метки вместо каналов

0 голосов
/ 07 декабря 2010
→ 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 > 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...