Ruby 打印内部放入红宝石
当我使用print-inside-put时,迭代器将在每次打印的和处打印。为什么会这样Ruby 打印内部放入红宝石,ruby,Ruby,当我使用print-inside-put时,迭代器将在每次打印的和处打印。为什么会这样 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 t
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...
您不需要在
文件中打印
尝试:
在你的例子中,为什么数字会出现在输出中?这是因为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..."
您不需要在文件中打印
尝试:
在你的例子中,为什么数字会出现在输出中?这是因为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..."
原来的例子也没有。我可以创建一个数组并使用join
,但我相信这一级别的问题不会从这种复杂化中受益。将“{hop!'*I}再放一次…”
–不必复杂。原始示例也不必复杂。我可以创建一个数组并使用join
,但我相信这一级别的问题不会从这种复杂性中受益。将“{hop!'*I}再放一次…”
–不必太复杂。好吧,如果您只想修复您的解决方案,请将I.times{}
返回nil
因为nil
在插入字符串时被有效地丢弃:放置“{i.times{print'hop!'。再次点击{break nil}}…”
@AlekseiMatiushkin,当治愈比疾病更严重时:)@sergiotulantsev请不要开枪打死钢琴家。他正在尽最大努力回答以下问题:耸耸肩:@AlekseiMatiushkin:没有射击,只是友好的嘲讽:)@AlekseiMatiushkin:顺便说一句,可以做得更简单:i.times{}&&nil
。甚至i.times{};nil
好吧,如果您只是想修复您的解决方案,请使i.times{}
返回nil
,因为在插入字符串时nil
实际上被丢弃:放入“{i.times{print'hop!'。再点击一次{break nil}…”
@AlekseiMatiushkin当治疗比疾病更糟糕时:)@SergioTulentsev请不要射杀钢琴家。他正在尽最大努力回答以下问题:耸耸肩:@AlekseiMatiushkin:没有射击,只是友好的嘲讽:)@AlekseiMatiushkin:顺便说一句,可以做得更简单:i.times{}&&nil
。甚至i.times{};无