Nic*_*ick 11 ruby interpolation ruby-on-rails
我有一个heredoc,我用它#{}来插入其他一些字符串,但有一个实例,我也想#{some_ruby_stuff}在我的heredoc中写入实际的文本,而不是插值.有没有办法逃脱#{.
我试过"\",但没有运气.虽然它逃脱了#{},它还包括"\":
>> <<-END
#{RAILS_ENV} \#{RAILS_ENV}
END
=> " development \#{RAILS_ENV}\n"
Run Code Online (Sandbox Code Playgroud)
aus*_*ton 19
对于heredoc而不必手动转义所有可能的插值,您可以使用单引号样式的heredoc.它的工作原理如下:
item = <<-'END'
#{code} stuff
whatever i want to say #{here}
END
Run Code Online (Sandbox Code Playgroud)
Mik*_*use 18
我认为反斜杠哈希只是Ruby在一些irb-only方式中有用.
>> a,b = 1,2 #=> [1, 2]
>> s = "#{a} \#{b}" #=> "1 \#{b}"
>> puts s #=> 1 #{b}
>> s.size #=> 6
Run Code Online (Sandbox Code Playgroud)
所以我认为你已经有了正确的答案.
| 归档时间: |
|
| 查看次数: |
10852 次 |
| 最近记录: |