在下面的示例代码中:为什么flip1
编译而不是flip2
?
enum Coin {
case heads
case tails
var flip1: Coin {
switch self {
case .heads: return .tails
case .tails: return .heads
}
}
var flip2: Coin {
return self.heads ? .tails : .heads
}
}
答案 0 :(得分:6)
条件运算符将布尔表达式作为第一个操作数:
var flip2: Coin {
return self == .heads ? .tails : .heads
}