LUA 运行期间不独占线程的递归,通过回调实现
function main(d) local function func(d) moveto(d, function() print("d=======", d) d = d - 1 if d >0 then func(d) end end) end func(d) end function moveto(d, callback) callback() end main(4)
注意,如下写法,程序报错:找不到global func
function main(d) local func = function(d) moveto(d, function() print("d=======", d) d = d - 1 if d >0 then func(d) end end) end func(d) end function moveto(d, callback) callback() end main(4)