有时候写递归算法时往往小创建一个递归算法的函数,但是又不想写到外面 所以会这样写
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
多谢,lamdba 不太用不知道怎么写。