我有一个函数构建器
@_functionBuilder
struct MyBuilder {
static func buildBlock(_ numbers: Int...) -> Int {
var result = 0
for number in numbers {
result += number * 2
}
return result
}
}
功能
func myFunc(@MyBuilder builder: () -> Int) -> Int {
builder()
}
利用
let a = myFunc {
10
20
}
print(a) // print 60 is work!
但
let b = myFunc {
10
}
print(b) // print 10?
为什么 b 不是 20?
我尝试添加其他 buildBlock
static func buildBlock(number: Int) -> Int {
return number * 2
}
但不工作:(
任何想法?