如何在递归调用中提前退出

时间:2014-11-13 03:25:16

标签: recursion

我有这样的功能:

def foo(A)
    for (i=0; i<A.len; i++) {
        if (A == something)
            foo(A.next)
        else 
            # here I'd like to return A's value
            # return A.value

如果有办法让这项工作?

谢谢!

1 个答案:

答案 0 :(得分:0)

你能做到:

def foo(A)
    for (i=0; i<A.len; i++) {
        if (A == something)
            return foo(A.next)
        else 
            return A.value

其中A.value将返回foo(A.next)的最后一个,它将一直返回到foo()的第一个调用。