Можно ли редактировать документ Here после его создания? - PullRequest
1 голос
/ 16 сентября 2009

Если я создаю документ Here:

myheredoc = <<HTMLOUTPUT
<div>This is the div</div>
HTMLOUTPUT

Могу ли я использовать myhedoc для манипулирования этим документом Here как обычной строкой?

Ответы [ 3 ]

5 голосов
/ 16 сентября 2009

Конечно, можно. Синтаксис упрощает чтение, вы все еще просто создаете строку.

>> myheredoc = <<HTMLOUTPUT
<div>This is the div</div>
HTMLOUTPUT
=> "<div>This is the div</div>\n"
>> myheredoc << "<p>some paragraph</p>"
=> "<div>This is the div</div>\n<p>some paragraph</p>"
3 голосов
/ 16 сентября 2009

heredoc - это просто синтаксис для генерации строки. Поэтому вы можете использовать все стандартные строковые методы. например:

replaceddoc = myheredoc.gsub(/div/, 'replaced div')
0 голосов
/ 16 сентября 2009

Существует несколько способов объявления строк:

  • Unescaped: 'foo' или% q [foo] или в стиле here-doc << MARKER </li>
  • Выход: "foo" или% Q [foo] или в стиле here-doc << "MARKER" </li>

Во всех случаях строки являются редактируемыми, а не замороженными, так что да, они могут быть изменены по факту.

...