如何将这段代码减少到一行?
How to reduce this code down to one line?
我正在使用 Nokogiri。
我有以下代码用标准的撇号替换撇号。
def replace_apostrophe(nokogiri_xml_doc)
nokogiri_xml_doc.xpath('//text()').each {|node| node.content = node.content.gsub(/\b'|’|‛|⸂|⸄|⸌|⸜\b/, "'")}
nokogiri_xml_doc
end
我想将方法减少到一行,但我不知道如何实现。
有什么想法吗?
老实说,我宁愿将它保留为两行;将它压缩成一行可能是 "clever",但它会使代码更难阅读。
不过,如果你真的想把它变成单行,你可以使用 Object#tap
:
def replace_apostrophe(nokogiri_xml_doc)
nokogiri_xml_doc.tap { |doc| doc.xpath('//text()').each { |node| node.content = node.content.gsub(/\b'|’|‛|⸂|⸄|⸌|⸜\b/, "'") } }
end
查看评论以获取有用信息。
I would like to reduce the method down to one line but I can't figure out how to make that happen.
您始终可以用分号或关键字替换换行符并编写任何代码,无论一行多么复杂:
def replace_apostrophe(nokogiri_xml_doc) nokogiri_xml_doc.xpath('//text()').each {|node| node.content = node.content.gsub(/\b'|’|‛|⸂|⸄|⸌|⸜\b/, "'")}; nokogiri_xml_doc end
但是,真的更好吗?
我正在使用 Nokogiri。
我有以下代码用标准的撇号替换撇号。
def replace_apostrophe(nokogiri_xml_doc)
nokogiri_xml_doc.xpath('//text()').each {|node| node.content = node.content.gsub(/\b'|’|‛|⸂|⸄|⸌|⸜\b/, "'")}
nokogiri_xml_doc
end
我想将方法减少到一行,但我不知道如何实现。
有什么想法吗?
老实说,我宁愿将它保留为两行;将它压缩成一行可能是 "clever",但它会使代码更难阅读。
不过,如果你真的想把它变成单行,你可以使用 Object#tap
:
def replace_apostrophe(nokogiri_xml_doc)
nokogiri_xml_doc.tap { |doc| doc.xpath('//text()').each { |node| node.content = node.content.gsub(/\b'|’|‛|⸂|⸄|⸌|⸜\b/, "'") } }
end
查看评论以获取有用信息。
I would like to reduce the method down to one line but I can't figure out how to make that happen.
您始终可以用分号或关键字替换换行符并编写任何代码,无论一行多么复杂:
def replace_apostrophe(nokogiri_xml_doc) nokogiri_xml_doc.xpath('//text()').each {|node| node.content = node.content.gsub(/\b'|’|‛|⸂|⸄|⸌|⸜\b/, "'")}; nokogiri_xml_doc end
但是,真的更好吗?