我想知道是否有办法设置带插值的字符串,以使字符串中的代码多次运行。 (我知道我可以把代码放在一个循环中,但是为了想知道)。
例如,我想要以下代码:
x = "#{puts 'a'}"
3.times do
x
end
获得输出:
a
a
a
我发现这个问题是在初始化时解决了插值问题。但是有没有办法设置一个字符串,以便可以重用插值?
答案 0 :(得分:1)
不会为此目的进行字符串插值。字符串应该表达语义,而不是行为。不要在插值字符串中调用puts
。
您仍然可以执行以下操作:
def x
puts 'a'
end
3.times do
x
end