创建后可以编辑Here文档吗?

时间:2009-09-16 16:02:02

标签: ruby heredoc

如果我创建一个Here文档:

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

我可以使用'myheredoc'来操作此文档像常规字符串吗?

3 个答案:

答案 0 :(得分:5)

当然可以。语法是为了让它更容易阅读,你仍然只是创建一个字符串。

>> 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>"

答案 1 :(得分:3)

heredoc只是生成字符串的语法。因此,您可以使用所有标准字符串方法。例如:

replaceddoc = myheredoc.gsub(/div/, 'replaced div')

答案 2 :(得分:0)

有很多方法可以声明字符串:

  • 未转义:'foo'或%q [foo]或here-doc style&lt;&lt; MARKER
  • Escaped:“foo”或%Q [foo]或here-doc style&lt;&lt;“MARKER”

在所有情况下,字符串都是可编辑的,而不是冻结的,所以是的,它们可以在事后修改。