このコードを動作させたいと思います。格納された列挙型の条件付き列挙型スイッチ
ケースDirection.Rightに距離パラメータを取る列挙型があります。
enum Direction {
case Up
case Down
case Left
case Right(distance: Int)
}
ここで、Directionパラメータをとることができる別の列挙型です。
enum Blah {
case Move(direction: Direction)
}
let blah = Blah.Move(direction: Direction.Right(distance: 10))
私は条件付きでこのようMove.Rightに切り替えることができるようにしたいBlah
列挙型に切り替える...
switch blah {
case .Move(let direction) where direction == .Right:
print(direction)
default:
print("")
}
しかし、私はエラーを取得...
「==」「_」タイプ「方向」のオペランドに適用することができず、バイナリ演算子
これを行う方法はありますか?
あなたの '.Move(方向を向ける)方向== .Up:'は私のためにうまくいきます。 –
@MartinR hmm .. 'バイナリ演算子==は、方向型と_'型のオペランドにそれを適用することはできません。しかし、クリーンでビルドに問題があるかもしれません。どうもありがとうございます。 – Fogmeister
@MartinRああ、Directionに 'distance'を追加すると間違っているようです。編集しましょう... – Fogmeister