【问题标题】:ruby break double statementruby 打破双重声明
【发布时间】:2012-06-13 11:10:54
【问题描述】:

如何打破双重声明?

a = 1
b = 2
c = 3

if a == 1
    if b == 2
        c = 5
        d = 6
        break
    end
end

puts c
puts d

输出

loop.rb:9: Invalid break
loop.rb: compile error (SyntaxError)

【问题讨论】:

标签: ruby loops break


【解决方案1】:

你不能从 if 内部中断,你只能从循环和块内部中断。

如果您要问的是如何中断两个嵌套循环,您可以将catchthrow 结合使用——这与其他语言中的 try 和 catch 不同。

catch(:stop) do
  while some_cond
    while other_cond
      throw :stop
    end
  end
end

当然,您总是可以设置一个标志或类似的东西来告诉外部循环它也应该中断。

【讨论】:

    猜你喜欢
    • 2021-09-22
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2012-10-26
    相关资源
    最近更新 更多