Re:Impressions of Rust as a Swift Developer: Memory Management
by ridiculous_fish on Wednesday March 11, 2020 @12:04PM
(#22546905)
Swift arrays are value types, how would you modify the array from inside map?
[ Parent
| on HN ]
Re:Impressions of Rust as a Swift Developer: Memory Management
by benmmurphy on Saturday March 14, 2020 @08:21AM
(#22574729)
var x = [1, 2, 3];
let y = x.map( { v -> Int in
print("got \(v)")
x.removeAll()
return 1
})
print("x: \(x)")
print("y: \(y)")
got 1
got 2
got 3
x: []
y: [1, 1, 1]
I don't know much about swift but this shows the closure is able to mutate the Array. I guess value types are captured by reference by a closure.