新手问题 在一个函数内定义另一个函数性能方面是否和非嵌套性能相同

lilijreey · August 06, 2020 · Last by lilijreey replied at August 06, 2020 · 1363 hits

有时候写递归算法时往往小创建一个递归算法的函数,但是又不想写到外面 所以会这样写

def xxx(a,b)
    def xxx_impl(a,b,t)
     ....
     xxx_imple(a,b,t+1)
    end
    xxx_impl(a,b,0)
end

请问这种方式有性能上的问题吗

性能估计没有差别。一旦执行了外部方法,内部方法就会被定义在类中,整个类均可见,不会因为外部方法执行完毕而 undef 内部方法。跟直接定义在类中没有差别,反而显得奇怪。你还不如内部用 lambda

Reply to spike76

多谢,lamdba 不太用不知道怎么写。 😂

You need to Sign in before reply, if you don't have an account, please Sign up first.