swift - "Self" working in switch statement, but not If statement in Swift
问题描述
this code works
extension Character {
func isVowel() -> Bool {
switch self {
case "a", "e", "i", "o", "u", "A", "E", "I", "O", "U":
return true
default:
return false
}
}
}
but when I use an if statement it gives "cannot convert type "String" to Bool
extension Character {
func isVowel() -> Bool {
if "a", "e", "i", "o", "u" {
return true
} else {
return false
}
}
}//does not work
I have tried adding "self" and self.asciiValue
how to properly convert the switch statement into if statement? sorry, still a beginner lol
解决方案
if 语句应如下所示:
if self == "a" || self == "e" || self == "i" || self == "o" || self == "u" {
return true
} else {
return false
}
另一种方法是:
func isVowel() -> Bool {
return ["a", "e", "i", "o", "u"].contains(self)
// or even shorter (by Leo Dabus):
return "aeiou".contains(self)
}
推荐阅读
- c++ - 如何获得负时间戳?
- mongodb - Spring Webflux 功能数据库更新不起作用
- python - 如何使用 numpy.einsum 混合两个帧?
- javascript - 在全局范围内声明两个具有相同名称的函数时,第二个函数会被执行
- r - 如何在 R 中计算与 DPLYR 的共享率?
- python - Plotly 基本表未在 web2py 中显示
- gams-math - GAMS 中的问题(错误 669、8、37、409)
- jenkins - 在 jenkins-shared-libraries 中的包内导入包
- python - sqlalchemy:另一列中每个值的最大值
- sas - SAS解析与宏中的数据步骤