【发布时间】:2020-12-23 11:39:20
【问题描述】:
我有一个函数可以在某些条件下生成一个数字
func randomWithCondition() -> Int {
...
return n
}
稍后我将使用这个函数在另一个函数中构建一个长度为 N 的数组
func a() -> [Int] {
var arr = [Int]()
for _ in 0..<length {
arr.append(randomWithCondition())
}
return arr
}
我想把这些写在一行中,我能想到的最好的事情是
return (0..<N).map { _ in randomWithCondition() }
因为我没有使用$0,所以必须加上_ in,否则编译不出来。
问题:有没有不写_ in的绕行?任何其他格式都可以,只要它是 return 语句中的一行。
【问题讨论】:
-
@JoakimDanielson 我会小心这种心态。这就是驱使 Java 程序员说“用 getter 和 setterceely 炸毁你的类有什么问题?我相信您可以将编程时间花在更重要的任务上。”客户的永恒不满非常有利于推动改进。
标签: arrays swift higher-order-functions