【发布时间】:2013-01-07 15:56:55
【问题描述】:
我正在使用 rails 控制台来调试问题。 Rails 控制台中的 Rails 服务器错误有什么用,我不知道为什么。
我的代码:
email = "team@mysite.com"
user_rules = [/\+/, /\-/, /all/, /updates/, /team/]
user, domain = email.downcase.split('@')
user_rules.each { |rule| return false if !user.match(rule).nil? }
最后一行错误:
1.9.3-p125 :016 > user_rules.each { |rule| return false if !user.match(rule).nil?}
LocalJumpError: unexpected return
from (irb):16:in `block in irb_binding'
from (irb):16:in `each'
from (irb):16
有什么想法吗?
【问题讨论】:
-
这基本上是stackoverflow.com/questions/2325471/… 的复制品。简短的回答是你不想从这样的 lambda 中返回,因为它试图从封闭函数返回。
-
@JimStewart 感谢您指出这一点。会是建议的更新吗?在下面回答,我会将其标记为正确。谢谢
-
澄清一下,代码并没有明显的错误,但可能更清楚地写成
return if user_rules.any? { |rule| !user.match(rule).nil? }。 -
或者只是
return if user_rules.any? {|rule| user.match(rule) }
标签: ruby-on-rails ruby ruby-on-rails-3