Ruby heredoc 中不使用字符串插值

yufei       6 年, 3 月 前       835

默认的,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
目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.