默认的,Ruby 中的 heredoc 中可以使用字符串插值和特殊的字符符。例如下面的代码
venue = "world" str = <<-EOF I'm the master of the #{venue} !\n No you're dead bro.. EOF
输出结果为
I'm the master of the world ! No you're dead bro..
heredoc 不使用字符串插值
如果要避免在 heredoc 中使用字符串插值,那么可以使用引号 ( 双引号 "
或单引号 '
) 把 heredoc 中的结束标识符引起来,就像下面这样
venue = "world" str = <<-'EOF' I'm the master of the #{venue} ! No you're dead bro..\n EOF
输出结果为
I'm the master of the #{venue} ! No you're dead bro..\n
注意,只是把开始的 「 结束标识符 」引起来即可,结束的时候是不需要添加引号的
结束语
heredoc 中的字符串高亮在某些编辑器中并不是自动启用的,可能需要我们手动设置 heredoc
标识符 ( flag )
例如,我们可以使用下面这些标识符来语法高亮 <<-SQL
, <<-HTML
, <<-XML
, <<-JSON
<<-SQL SELECT id FROM table WHERE id IS NOT NULL AND id > 200 ORDER BY id DESC; SQL
目前尚无回复