Skip to content

Instantly share code, notes, and snippets.

@robertmryan
Last active February 28, 2016 23:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robertmryan/5ca3ef29330086e25675 to your computer and use it in GitHub Desktop.
Save robertmryan/5ca3ef29330086e25675 to your computer and use it in GitHub Desktop.
Range rendition of `splitEvery` in Swift 2
extension Range {
/// Split range into an array of ranges of predetermined size.
///
/// Adapted from http://stackoverflow.com/a/26691258/1271826
///
/// - parameter every: How many items per subrange
/// - returns: An array of Range objects
func splitEvery(every: Element.Distance) -> [Range] {
var result = [Range]()
var from = startIndex
while from != endIndex {
let to = from.advancedBy(every, limit: endIndex)
result.append(from ..< to)
from = to
}
return result
}
}
@robertmryan
Copy link
Author

This is a follow-up to Martin's post.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment