【问题标题】:How do I "break" out of an if/else statement?如何“打破” if/else 语句?
【发布时间】:2018-02-17 04:26:29
【问题描述】:

如果第一个答案不正确,我似乎无法弄清楚如何阻止 if/else 语句进入下一个“答案”。

classic_house_tracks = ['Come on Now Baby', 'Follow Me', 'The Spirit']
puts "Who produced " + classic_house_tracks[1] + "?"
producer_input = gets.chomp.to_s
if producer_input == "Aly-Us" || producer_input == "aly-us" || producer_input == "Aly-us"
    puts "Yep, and are Aly-Us from Detroit or Chicago?"
else
    puts "Nope, wrong producer."
# break
# end
# that obviously didn't work.
end

(如果我是新手,请随时帮我擦干我的代码。):) 谢谢 任何人都可以提供帮助!

【问题讨论】:

  • 你试图打破的循环在哪里?

标签: ruby if-statement dry break


【解决方案1】:

使用return关键字,如果返回string则退出代码。 您也可以将其设为 DRY,如下所示:

classic_house_tracks = [
  'Come on Now Baby', 
  'Follow Me', 
  'The Spirit'
] 
puts "Who produced #{classic_house_tracks[1]}?"
producer_input = gets.chomp.to_s
if producer_input.downcase == "aly-us"
  puts "Yep, and are Aly-Us from Detroit or Chicago?" 
else
  return "Nope, wrong producer."
end

【讨论】: