【发布时间】:2019-10-03 20:17:41
【问题描述】:
<<-EOH 和 <<~EOH 有什么区别吗?
我对此提出质疑,因为当我使用 <<-EOH 时,Brackets 没有正确突出显示 ruby/chef 代码,而且我已经有大量代码以这种方式在生产中运行。因此,当一切正常且唯一的问题是我的编辑无法突出显示时,不可能批准我的 PR。
当我将<<-EOH 切换为<<~EOH 时,括号正确识别代码并且代码高亮工作正常。
括号或<<-EOH 上的错误是错误的吗?
bash 'run_a_command_block' do
code <<-EOH
/usr/bin/python /usr/local/bin/a_regular_script.py
EOH
action :nothing
end
【问题讨论】:
-
rubyguides.com/2018/11/ruby-heredoc 和许多其他人。网络是你的朋友。
-
There is plenty of information about ruby syntax on the internet。不过,您实际上抱怨的似乎是您的
Brackets版本中的语法突出显示问题。你运行的是最新版本吗? (如果没有,请更新它。那解决了吗?)有没有人报告过这个问题? (如果没有,您可以自己报告。) -
如果您能解释一下关于 Ruby 中的 heredocs 的文档,准确地说对您来说不清楚,那将会很有帮助。这具有三个优点: 1) 这样,Ruby 开发人员可以改进文档,以便未来的开发人员不会陷入与您相同的陷阱。让世界变得更美好! 2)它告诉您对文档做了什么和不理解什么,这样我们就不会浪费时间在我们的答案中重复您已经知道或您不理解的事情。 3)这表明你已经做了深入的研究,试图自己回答这个问题。
-
如果
<<~EOH正确突出显示,而<<-EOH未正确突出显示,那么您的编辑器就是罪魁祸首。 “波浪形”heredoc 是在“straight”之后引入的。理解新变体的 Ruby 版本将理解旧变体。
标签: ruby chef-infra heredoc adobe-brackets