Grouping throwing expressions using tuplesBasics article available: Error Handling
Tuples can not only be super useful in order to group multiple related local variables into one, but can also be a great way to combine several throwing expressions.
// Here we have three highly related expressions that are // all throwing, requiring separate assignments and separate // 'try' keywords: let contentFolder = try Folder.current.subfolder(named: "content") let templatesFolder = try Folder.current.subfolder(named: "templates") let output = try Folder.current.createSubfolderIfNeeded(withName: "output") // By combining them all into a tuple, we only need one // 'try', and can easily group our data into a single, // lightweight container: let folders = try ( content: Folder.current.subfolder(named: "content"), templates: Folder.current.subfolder(named: "templates"), output: Folder.current.createSubfolderIfNeeded(withName: "output") ) // The call sites also become really nice and clean, with // increased "namespacing" for our local variables: readFiles(in: folders.content) loadTemplates(from: folders.templates)
The perfect calculation companion for developers. Calculate anything — from dates, to budgets and prices, to what value to use as input for an algorithm. With variables, natural language processing, inline results, and more — it’s like Swift Playgrounds, but for math calculations.