gpt4 book ai didi

swift - 为什么我会陷入编译循环 - Lambda

转载 作者:行者123 更新时间:2023-11-28 06:52:43 26 4
gpt4 key购买 nike

为什么我在尝试运行以下命令时会卡在 Playground 的编译循环中?

func makeIncrementer(byHowMuch: Int) -> ((Int) -> Int) {
func addArg(number: Int) -> Int {
return 2 + number
}
return addArg
}
var twoTimesIncrementer = makeIncrementer(2)
twoTimesIncrementer(7)

另外,在非函数式语言中如何调用返回函数的函数?还是 Lambda?

最佳答案

首先,我没有陷入编译循环,它按预期返回 9。 Playground 有相当多的错误,如果某些东西在 playground 中不起作用,请将其粘贴到实际项目中,尝试运行它,您会看到它是否真的有效。

其次,返回一个函数的函数仍然是一个函数,它的命名不会随着它的返回类型而改变。唯一需要注意的是,在 Swift 中,您可以将函数作为一级对象,您的 twoTimesIncrementer 和其他变量一样是一个变量。

除此之外,我的建议是不要过度沉迷于某些模式或功能的命名。您是否有非函数式语言的示例,您可以在其中定义返回函数的函数?

关于swift - 为什么我会陷入编译循环 - Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34464294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com