【发布时间】:2018-09-01 17:47:42
【问题描述】:
我正在阅读“快速编程语言 4.2”。在开始的章节,第 23 页,我有以下要求:
重写闭包以对所有奇数返回零
我的解决方案是:
let myArray: [Int] = [1, 2, 3, 4, 5]
myArray.map({ (number: Int) in
if number % 2 != 0 {
return 0
} else {
return number
}
})
但我有以下错误:
对成员“地图”的模糊引用
我真的不明白为什么我错了,为什么我的 'myArray' 不能引用 'map' 成员? 你能给我解释一下这个错误以及正确的解决方案吗? 谢谢!
【问题讨论】:
-
与你的问题无关,但是闭包的返回类型在哪里呢?你为奇数返回 0 的逻辑是错误的。偶数返回 0。
-
哦抱歉 :D 我现在不关注真正的逻辑。我会编辑的,谢谢!
-
当然,但如果您没有返回类型,则不会返回任何内容。您的代码也可以通过返回类型编译得很好。
-
您能否发布您的游乐场的屏幕截图并显示错误? (最好是完整的游乐场)
-
基本上是stackoverflow.com/questions/34113457/…的副本:你必须提供闭包返回类型
标签: swift