在Ruby中,如何在定义变量之前定义带有插值变量的字符串?

在Ruby中,如何在定义变量之前定义带有插值变量的字符串?,ruby,Ruby,在Ruby中,如何在定义变量之前定义带有插值变量的字符串 一旦这些变量赋值,我需要做什么来执行插值 tips = 'Hi,#{name},your order total price is #{price*count}' name = 'roy' price = 13.5 count = 10 tips.xxx = 'Hi,roy,your order total price is 135' 为了将所有介于{…}之间的代码作为Ruby代码进行计算,必须使用双引号,否则它只能作为公共字符串打印。

在Ruby中,如何在定义变量之前定义带有插值变量的字符串

一旦这些变量赋值,我需要做什么来执行插值

tips = 'Hi,#{name},your order total price is #{price*count}'
name = 'roy'
price = 13.5
count = 10
tips.xxx = 'Hi,roy,your order total price is 135'

为了将所有介于
{…}
之间的代码作为Ruby代码进行计算,必须使用双引号,否则它只能作为公共字符串打印。我猜您想返回类似于
“嗨,roy,您的订单总价是135”
,因此,您需要在之前创建名称、价格和计数变量,因为如果不这样做,您将得到一个
未定义的局部变量或main:Object
错误的方法“variable”,因此您可以尝试:

name  = 'roy'
price = 13.5
count = 10
tips  = "Hi,#{name},your order total price is #{price*count}"
puts tips
# Hi,roy,your order total price is 135.0

对于您的情况,您可以使用
后期插值

tips = 'Hi, %{name},your order total price is %{price}'
name = 'roy'
price = 13.5
count = 10
tips % {name: name, price: price * count}
# => "Hi,roy,your order total price is 135"

文档链接:

您的问题不清楚。什么是“品种”?什么是“替换字符串”?“变体定义在替换字符串后面”是什么意思?你的代码有什么问题?你收到错误信息了吗?错误消息是什么?你得到的结果不是你期望的结果吗?你期望得到什么样的结果?为什么?你会得到什么样的结果?两者有什么不同?你观察到的行为是否不是期望的行为?期望的行为是什么?为什么?观察到的行为是什么?它们以什么方式不同?您能否提供您希望发生的行为的精确说明,包括任何和所有规则、这些规则的例外情况、拐角情况、特殊情况、边界情况和边缘情况?您能否提供示例输入和输出,以演示在正常情况下,以及在所有异常、拐角情况、特殊情况、边界情况和边缘情况下,您预期会发生什么?