【发布时间】:2015-11-04 10:19:51
【问题描述】:
我希望能够从调用方法返回,同时仍在被调用方法中。
例子:
def calling_method
# stuff
called_method
# more stuff
end
def called_method
# stuff
return_from_caller if foo # << I would like to return from calling_method
# more stuff
end
有没有简单的方法来实现这一点?
我目前使用的“肮脏”方式是这样的:
def calling_method
# stuff
called_method and return
# more stuff
end
def called_method
# stuff
return false if foo
# more stuff
end
但这并不完全令人满意,因为我必须在调用方法中执行and return。
【问题讨论】:
-
Ruby 和其他语言一样,在获取返回语句时结束方法。您可以使用内容设置变量并在此方法结束时返回。
-
我真的不明白你的评论。你能提供一个代码示例吗?
-
如果在语义上有意义,您也可以引发异常。
-
不是那种情况,但是是的,我已经考虑过了。