Sam*_*amy 4 ruby string language-comparisons string-interpolation
在python我能做到
_str = "My name is {}"
...
_str = _str.format("Name")
Run Code Online (Sandbox Code Playgroud)
在红宝石中,当我尝试
_str = "My name is #{name}"
Run Code Online (Sandbox Code Playgroud)
解释器抱怨变量名是未定义的,所以它是期望的
_str = "My name is #{name}" => {name =: "Name"}
Run Code Online (Sandbox Code Playgroud)
如何在ruby中使用字符串占位符供以后使用?
ras*_*eep 14
您可以使用延迟插值.
str = "My name is %{name}"
# => "My name is %{name}"
puts str % {name: "Sam"}
# => "My name is Sam"
Run Code Online (Sandbox Code Playgroud)
Ruby中的%{}和%运算符允许延迟字符串插值,直到稍后.%{}在字符串中定义命名占位符,%将给定输入绑定到占位符.