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)
My favorite continuous integration service. Automatically build, test and distribute your app on every single commit that you make. Bitrise is fast, rock solid, and takes just a few minutes to set up. Try it for free, and see how it can improve your team’s workflow.