【问题标题】:LocalJumpError: unexpected returnLocalJumpError:意外返回
【发布时间】:2015-08-18 19:27:37
【问题描述】:

我想知道为什么我不能从这个街区回来:

[1,2].each { |e| return e } # => LocalJumpError: unexpected return

虽然这些工作:

[1,2].each { |e| Proc.new {return e} } # => [1, 2]
[1,2].each { |e| lambda {return e} } # => [1, 2]

希望有人能解释一下。

【问题讨论】:

标签: ruby lambda closures block proc


【解决方案1】:

您可以在 Ruby 的块内使用 return。它将从封闭方法返回。在这种情况下,没有封闭方法,这就是错误的原因,并不是因为在块中返回是非法的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2020-12-08
    • 2018-03-24
    • 1970-01-01
    • 2020-06-24
    • 2020-12-07
    相关资源
    最近更新 更多