Swift’s standard library offers several different APIs for extracting a range of elements from any sequence. For example, we can use
dropLast to remove the first or last element — or use
suffix to extract a subsequence with a given amount of leading or trailing elements.
// Since the first argument passed to a command line // tool is the execution path, we drop it to have the // first element become the first user-passed argument: let arguments = CommandLine.arguments.dropFirst() // Calling 'prefix' or 'suffix' on a sequence lets us // extract a subsequence containing up to a certain // number of elements, without crashing if the sequence // doesn't contain enough elements: let intro = text.split(separator: " ").prefix(10) let outro = text.split(separator: " ").suffix(10) // The above operations are optimized to not cause // unnecessary copying, so if we want to turn the // results into a new array, we must do so explicitly: let words = Array(intro)
Enter Manning’s September Showdown — a 30-day challenge that gives developers a chance to test their knowledge against their peers. A new trivia question, and a brand new prize to win, is published every day throughout September.