✖
Size: a a a
✖
SB
SB
SB
let elements = [2, 4, 5]
let sum = elements.reduce(.zero, { $0 + $1 })
SB
let elements = ["sw", "ift"]
let sum = elements.reduce("", { $0 + $1 })
SB
IS
protocol Additive { static func + (l: Self, r: Self) -> Self }
func f<T: Additive>(a: [T]) -> T? {
guard var r = a.first else { return nil }
a.dropFirst().forEach { r = r + $0 }
return r
}
extension Int: Additive { }
extension String: Additive { }
print(f(a: [1,2,3,4])) // 10
print(f(a: ["sw","i","ft"])) // "swift"
ДЖ
ДЖ
G
AY