У меня есть кусок кода в SWIFT, что я не понимаю:IOS Swift - Снизить функция
var peers: [String:NSSet] = [:]
for s in squares {
var ps = reduce(units[s]!, NSMutableSet()) { set, u in
set.addObjectsFromArray(u)
return set
}
ps.removeObject(s)
peers[s] = ps
}
squares
является массив String.
До сих пор я понял, что peers
, вероятно, является структурой данных ключа/значения с ключами строки и значениями NSSet. NSSet аналогичен массиву, но он не может принимать повторяющиеся элементы. Основная часть, которую я не понимаю, на самом деле является функцией reduce
. Любое объяснение или поучительная статья/веб-страница приветствуются.