1

如果我创建一个 Here 文档:

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

我可以使用“myheredoc”像普通字符串一样操作这个 Here 文档吗?

4

3 回答 3

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>"
于 2009-09-16T16:05:30.873 回答
3

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

replaceddoc = myheredoc.gsub(/div/, 'replaced div')
于 2009-09-16T16:05:37.193 回答
0

有多种声明字符串的方法:

  • 未转义:'foo' 或 %q[foo] 或 here-doc 样式 <<MARKER
  • 转义:"foo" 或 %Q[foo] 或 here-doc 样式 <<"MARKER"

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

于 2009-09-16T16:40:49.853 回答