打破定义一级

时间:2014-08-13 11:52:02

标签: ruby exit break abort

在下面的代码中,break完全退出程序并返回到irb,而我想返回print语句所在的行。

def f1()
  do_something
end

def f2()
  do_something
end

def f1()
  print "I want to get back here."
  while true
    choice = gets.chomp
    if choice == "exit"
      break
    else
      f2()
    end
  end
end

你如何突破一个级别?

1 个答案:

答案 0 :(得分:0)

在外面添加另一个循环。使用loop而不是while true

也可能更简单
def f1()
  loop do
    print "I want to get back here."
    loop do
      choice = gets.chomp
      if choice == "exit"
        break
      else
        f2()
      end
    end
  end
end