ios – 嵌套递归函数

ios – 嵌套递归函数,第1张

概述我试图做一个嵌套递归函数,但是当我编译时,编译器崩溃(Segmentation fault). 这是我的代码: func test(){ func inner(val : Int) { println("\(val)") if val > 0 { inner(val - 1) } } 我试图做一个嵌套递归函数,但是当我编译时,编译器崩溃(Segmentation fault).

这是我的代码:

func test(){    func inner(val : Int)    {        println("\(val)")        if val > 0        {           inner(val - 1)        }    }    inner(3)}

编译器记录are here

解决方法 有趣的…它似乎也许在尝试在定义之前捕获到内部的引用时,它是bailing?

以下修复它为我们:

func test() {    var inner: (Int) -> () = { _ in }    // give it a no-op deFinition    inner = { val in        println("\(val)")        if val > 0 {            inner(val - 1)        }    }    inner(3)}

当然没有嵌套,我们根本没有任何问题,例如以下工作完全如预期:

func test(val: Int) {    println("\(val)")    if val > 0 {        test(val - 1)    }}test(3)

我会说:报告!

总结

以上是内存溢出为你收集整理的ios – 嵌套递归函数全部内容,希望文章能够帮你解决ios – 嵌套递归函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1096858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存