【发布时间】:2017-11-22 12:30:06
【问题描述】:
我一直在尝试了解新的 Swift 4 字符串和子字符串是如何工作的。
由于大多数可以对字符串执行的操作也可以对子字符串执行,因此我试图找到一种方法将以下两种方法合并为一个:
static func isConsonant(ipa: String) -> Bool {
return "ptkʧfθsʃbdgʤvðzʒmnŋlwjhrʔɾ".contains(ipa)
}
static func isConsonant(ipa: Substring) -> Bool {
return "ptkʧfθsʃbdgʤvðzʒmnŋlwjhrʔɾ".contains(ipa)
}
我想我记得读过一些关于 StringProtocol 的链接,但这不起作用:
static func isConsonant(ipa: StringProtocol) -> Bool {
return "ptkʧfθsʃbdgʤvðzʒmnŋlwjhrʔɾ".contains(ipa)
}
错误是
Protocol 'StringProtocol' 只能用作通用约束 因为它有 Self 或关联的类型要求
是否有可以接受String 或Substring 的参数类型?
【问题讨论】: