Ruby 打印内部放入红宝石

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

当我使用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 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{};无