在字符串的引号内插入 Ruby 代码

问题描述 投票:0回答:2

我有一个这样的字符串:

'say "Twenty-five minutes remaining."'

如何将更多动态内容插入到该消息中?我已经知道下面的方法不起作用,因为内容是按字面返回的。

'say "#{minutes_remaining} minutes remaining."'
ruby string-interpolation
2个回答
7
投票

这有效:

minutes_remaining = 25
system("say '#{minutes_remaining} minutes remaining.'")

字符串插值仅适用于双引号,不适用于单引号。


6
投票

您可以使用反斜杠转义双引号:

puts "say \"#{minutes_remaining} minutes remaining.\""

或者更好的是,使用

%{}
,无需转义双引号

puts %{say "#{minutes_remaining} minutes remaining."}

相关问题在 ruby 中转义字符串中的单引号和双引号?

© www.soinside.com 2019 - 2024. All rights reserved.