当我在内部使用print时,迭代器将在每次打印的和处进行打印。为什么会这样?
def hop_hop_hop(number_of_exercises)
for i in (1..number_of_exercises)
puts "#{i.times { print 'hop!' } } One more time..."
end
end
hop_hop_hop(3)
我想要这个:
hop! One more time...
hop! hop! One more time...
hop! hop! hop! One more time...
代码给了我
hop!1 One more time...
hop! hop!2 One more time...
hop! hop! hop!3 One more time...
答案 0 :(得分:2)
您不需要print
内的puts
。
尝试:
puts "#{'hop! ' * i}One more time..."
在您的示例中,为什么数字会出现在输出中?这是因为i.times
返回了i
,在您的示例中为3
。因此,实质上,您的示例正在执行此操作:
def hop_three_times
print 'hop!'
print 'hop!'
print 'hop!'
return 3
end
i = hop_three_times
puts "#{i} One more time..."