ExpressibleByBooleanLiteralの実装について
ExpressibleByBooleanLiteralプロトコルを適合した型で、
if文でその変数の状態だけで、判断してほしいのですができません。
if g {}が可能になるにはどうしたらよいでしょうか?
enum Grade : ExpressibleByBooleanLiteral{
case A,B,C,D,E
var boolValue : Bool{
switch self{
case .A,.B,.C:
return true
default:
return false
}
}
init(booleanLiteral value: Bool){
if value{
self = .A
}else{
self = .E
}
}
}
var g = Grade.A
if g {//コンパイルが通らない!!
print("合格")
}