当我试图将一个多行字符串插入另一个时,我得到了错误的缩进,因为只有子字符串的第一行有正确的缩进,例如:
substring = <<-STRING.strip_heredoc
first line
second line
STRING
string = <<-STRING.strip_heredoc
Quote
#{ substring }
from substring
STRING
结果如下:
Quote
first line
second line
from substring
而想要的一个是
Quote
first line
second line
from substring
我的问题与这个关于 perl 和 xml的问题几乎相同,或者这个关于 erb但更笼统的问题。
考虑到插值不仅可用于生成任何 SGML(XML、HTML 或 ERB),而且还可用于生成 SQL 和其他语言......
有什么方法、方法或惯例可以用正确的缩进插入多行字符串?
如果没有办法,你会推荐什么工具来后处理不同的语言(例如 HTML、SQL)
更新:
Ruby 2.3 的功能<<~
类似于strip_heredoc
特性仅在子字符串的第一行添加缩进