Технически, у вас может быть один try
, если вы избегаете звонить map
:
func combineFiles(files: [String]) throws -> String {
var results: [String] = []
for file in files {
results.append(try String(contentsOfFile: file))
}
return results.joined(separator: "\n\n")
}
Но я думаю, что это неправильное направление. Я бы просто использовал два try
паттерна, которые перебрасывают такие функции, как map
entail.
Я бы потерял strings
, хотя:
func combineFiles(files: [String]) throws -> String {
try files.map { try String(contentsOfFile: $0) }
.joined(separator: "\n\n")
}