假设我们有一个具有以下结构的函数:
def f():
# ...
# some computations
# ...
if something_is_wrong_with_previous_computations:
return None
# ...
# some other computations
# ...
if something_is_wrong_with_previous_computations2:
return some_variable
#...
return result
Run Code Online (Sandbox Code Playgroud)
在我看来,return
在函数中间使用语句根本不起作用。如果我们使用某种 lispy 语言,我们将拥有let
(然后可以用let*
)语句编写计算,这将帮助我们轻松处理这些情况。不幸的是,我们这里没有。我们应该做什么?
let
创建大量嵌套函数并就地调用它们?Maybe
monad 或其他类似的复杂东西?