Skip to content

Instantly share code, notes, and snippets.

@loganwright
Created February 2, 2016 21:05
Show Gist options
  • Save loganwright/401a69748fdc1a1f11a3 to your computer and use it in GitHub Desktop.
Save loganwright/401a69748fdc1a1f11a3 to your computer and use it in GitHub Desktop.
SplitFilter
extension SequenceType {
func ip_splitFilter(@noescape predicate: Generator.Element throws -> Bool) rethrows -> (passed: [Generator.Element], failed: [Generator.Element]) {
var passed: [Generator.Element] = []
var failed: [Generator.Element] = []
try forEach { element in
if try predicate(element) {
passed.append(element)
} else {
failed.append(element)
}
}
return (passed, failed)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment