我想知道是否有一种方法可以设置一个带有插值的字符串,让字符串中的代码多次运行。(我知道我可以把代码放在一个循环中,但出于好奇的考虑)。
例如,我想要以下代码:
x = "#{puts 'a'}"
3.times do
x
end要获得输出,请执行以下操作:
a
a
a我发现的这个问题是插值是在初始化时解决的。但是,有没有一种方法可以设置一个字符串,以便插值可以重用?
发布于 2018-02-18 04:38:00
字符串插值不是为此目的进行的。字符串应该表达语义,而不是行为。不要在插值字符串中调用puts。
你仍然可以这样做:
def x
puts 'a'
end
3.times do
x
endhttps://stackoverflow.com/questions/48845597
复制相似问题