【问题标题】:Ruby Loop Countdown method not Counting down [closed]Ruby Loop Countdown 方法不倒计时[关闭]
【发布时间】:2016-12-25 10:47:23
【问题描述】:

我正在尝试定义一个从 10 到 0 倒计时并在最后返回 HAPPY NEW YEARS 的方法!但是我不想我做错了?

def countdown(number)
  while number > 0
    puts "#{number} SECONDS(S)!"
    number -= 1
  end
 "HAPPY NEW YEAR!"
end

【问题讨论】:

  • 您打算在每一步都减去11?大概就是这样。如果您以后需要询问,通常最好将实际输出与预期输出添加到您的问题中,以使这类事情清楚(如果您想要的话,脚本一次倒数 11 是完全可以的! 只是这看起来很不寻常。)
  • 对不起,我应该在点击提交之前检查一下,假设是 -= 1
  • @Daquon:在这种情况下,您需要更多地解释出了什么问题,因为您的代码显然有效(或者至少它与您的书面描述相匹配)。添加1)您如何称呼它。 2)会发生什么。 3) 你想要/期望发生的事情
  • @NeilSlater 假设使用末尾的字符串插值从 10 开始倒计时,说新年快乐
  • @NeilSlater 它应该显示到控制台 10 秒 - 0 秒然后显示新年快乐

标签: ruby loops methods


【解决方案1】:
def countdown(number)
  while number > 0
    puts "#{number} SECONDS(S)!"
    number -= 1
  end
 puts "HAPPY NEW YEAR!"
end

我在代码的最后一行添加了 puts。您的方法正在倒计时到 0 秒,但最后一行仅返回字符串“新年快乐!”,并且不会将其打印到屏幕上。或者如果需要返回字符串并在屏幕上打印,可以p "HAPPY NEW YEAR!"

【讨论】:

  • 但是作业要求我使用 while 循环,这就是我遇到这么多麻烦的原因
  • 应该是新年倒计时
  • 如果是这样的话,你只需要在新年快乐字符串之前加上一个'puts'或'p'。
  • @Daquon 只需将sleep 1 放在number -=1 之前,您的代码就会进行倒计时。
【解决方案2】:

快速的 Google 搜索显示您显然正在尝试解决 https://learn.co/lessons/countdown-to-midnight(您确实应该包含该链接)

您的代码没有通过spec,因为它包含一个额外的S

puts "#{number} SECONDS(S)!"
#                     ^

必须是:

puts "#{number} SECOND(S)!"

【讨论】:

  • 我已经解决了,谢谢
  • 但是,如果你能帮忙,我在 countdown_to_sleep 的第二部分遇到了麻烦?我无法理解睡眠功能
  • @Daquon 请发布一个新问题并包含相关详细信息。
  • 我显然可以问一些不好的问题,所以我必须等待三天
  • @Daquon,你总是可以“修复”任何当前的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-08
  • 1970-01-01
  • 1970-01-01
  • 2013-03-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多