【发布时间】:2016-11-25 00:47:08
【问题描述】:
当我试图将一个多行字符串插入另一个时,我得到了错误的缩进,因为只有子字符串的第一行有正确的缩进,例如:
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
我的问题与this question about perl and xml 或this one about erb 中的问题几乎相同,但更笼统。
考虑到插值不仅可以用于生成任何 SGML(XML、HTML 或 ERB),还可以用于生成 SQL 和其他语言......
有什么方法、方法或惯例可以用正确的缩进插入多行字符串?
如果没有办法,你会推荐什么工具来后期处理不同的语言(例如 HTML、SQL)
更新:
Ruby 2.3 功能 <<~ 与 strip_heredoc 类似,但仍然(显然)仅在子字符串的第一行添加缩进
【问题讨论】:
标签: string interpolation indentation multilinestring