Functions such as map take a closure and apply it to each value in a collection.

Transform each value

higher_order.swift
let multiplier = 
let numbers = [1, 2, 3]
let scaled = numbers.map { value in
    return value * multiplier
}
let total = scaled[0] + scaled[1] + scaled[2]

print("multiplier=\(multiplier)")
print("scaled=\(scaled)")
print("total=\(total)")
let multiplier = 
let numbers = [1, 2, 3]
let scaled = numbers.map { value in
    return value * multiplier
}
let total = scaled[0] + scaled[1] + scaled[2]

print("multiplier=\(multiplier)")
print("scaled=\(scaled)")
print("total=\(total)")
let multiplier = 
let numbers = [1, 2, 3]
let scaled = numbers.map { value in
    return value * multiplier
}
let total = scaled[0] + scaled[1] + scaled[2]

print("multiplier=\(multiplier)")
print("scaled=\(scaled)")
print("total=\(total)")
higher order `map` builds a new array by running a closure for each input element and collecting the returned values.