1
lyricsForName
函数不打印任何东西。 shortNameFromName
确实有效,我检查了第二个功能有什么问题。lyricsForName函数不打印任何东西
func shortNameFromName(name : String) ->String{
var shortName = ""
let lowercaseNmae = name.lowercased()
let vowelSet = CharacterSet(charactersIn: "aeiou")
if let range = lowercaseNmae.rangeOfCharacter(from: vowelSet, options: String.CompareOptions.caseInsensitive)
{
shortName = name.substring(from: range.lowerBound)
}
return shortName
}
func lyricsForName(lyricsTemplate : String , fullName : String) ->String{
let bananaFanaTemplate = ["<FULL_NAME>, <FULL_NAME>, Bo B<SHORT_NAME",
"Banana Fana Fo F<SHORT_NAME>",
"Me My Mo M<SHORT_NAME>",
"<FULL_NAME>"].joined(separator: "\n")
let shortName = shortNameFromName(name: fullName)
let lyrics = lyricsTemplate
.replacingOccurrences(of: "<FULL_NAME>", with: fullName)
.replacingOccurrences(of: "<SHORT_NAME>", with: shortName)
print(lyricsForName(lyricsTemplate:bananaFanaTemplate , fullName: "vishnu"))
return lyrics
}
第一个功能完美的工作,但我想第二个功能不能正常工作。我应该怎么做才能使它工作?
你好 - 你的函数应该是递归的(你在函数声明中调用lyricsForName)?如果您打印歌词,会发生什么情况? – Sparky
它不应该递归 – vishnu
我现在在外面使用该函数它只打印\ n,相同的结果,当我尝试打印歌词 – vishnu