用Nokogiri解析一个Heredoc



我有一个Ruby方法,它使用Nokogiri来解析一个heredoc。它目前看起来像这样并通过了所有规范:

def html_headers
  Nokogiri::XML::DocumentFragment.parse(<<-HTML)
  ....
  HTML
end

但是,当我将其更改为以下内容时,它不符合规格。我对 Ruby 有点陌生,所以我不确定这会如何改变结果。控制台中的测试表明它不应更改任何内容,str应包含与此方法的先前版本等效的字符串。

def html_headers
  str = <<-HTML
  ...
  HTML
  Nokogiri::XML::DocumentFragment.parse(str)
end

与其删除这个问题,不如把它作为我羞耻的记录。原始代码实际上是

def html_headers
  Nokogiri::XML::DocumentFragment.parse(<<-HTML)
<div>...</div>
  HTML
end

失败的代码是

def html_headers
  str = <<-HTML
  <div>...</div>
  HTML
  Nokogiri::XML::DocumentFragment.parse(str)
end

我认为缩进 heredoc 以使其与该方法的其余部分内联不会产生效果。傻我。

相关内容

  • 没有找到相关文章

最新更新