我有一个我想要映射的范围,但我收到了错误
“Cannot invoke 'map' with an argument list of type '((_) -> _)'”
这是代码的样子
let patterns = (0...5).map { verseNum in
let verseNumberStartPattern = "\"verse-num\">\(verseNum)</span>(?:\\s?<span>)?(.*?)<"
let chapterStartPattern = "\"chapter-num\">\\s\(parsedVerse.chapterStart)\\s</span>"
if verseNum == 1 {
return chapterStartPattern + "(.*?)<"
} else {
return chapterStartPattern + "(?:.*?)" + verseNumberStartPattern
}
}
Run Code Online (Sandbox Code Playgroud)
如果我取出闭包内的所有内容并返回"",那么编译器就不会抱怨.但是,即使我添加一行而不是返回空字符串,编译器也会抱怨,例如:
let patterns = (0...5).map { verseNum in
let verseNumberStartPattern = "\"verse-num\">\(verseNum)</span>(?:\\s?<span>)?(.*?)<"
return ""
}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?