gpt4 book ai didi

swift - 最大查找器不工作

转载 作者:行者123 更新时间:2023-11-28 15:46:25 24 4
gpt4 key购买 nike

我有这个代码:

func doSomething(_ closure: ([Double]?, Double?) -> Double?) {
closure([1,2,3,4], 8)
}
print(doSomething({ return $0?.max() ?? $1}))

我需要帮助理解为什么它不返回任何东西,什么时候它应该返回数组中的最大值或第二个参数。

最佳答案

doSomething 是一个 void 函数。采用 (([Double]?, Double?) -> Double?) 类型的参数并不意味着函数本身应该返回 Double?

虽然这个功能对我来说似乎很奇怪,但我假设你想要实现的是:

func doSomething(_ closure: ([Double]?, Double?) -> Double?) -> Double? {
return closure([1,2,3,4], 8)
}

修改后的输出应该是:

print(doSomething { return $0?.max() ?? $1 }) // Optional(4.0)

对于这种情况,我建议安全地解包它,您可能想要“可选绑定(bind)”它:

if let value = doSomething({ return $0?.max() ?? $1}) {
print(value) // 4.0
}

关于swift - 最大查找器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42974202/

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