Avatar
こういう場合はパターンマッチング部分を値より後に持ってくることができないので,どうせ取りこぼしが出るなら中途半端にパターンマッチング部分を値より後に持って来れるように頑張るより,パターンマッチング部分が前にあっても補完できるように頑張る方向に持っていったほうが良いんじゃないかなと思いました. enum E { case i(Int) case s(String) case o } let a: [E] = [.i(2), .s("a"), .o, .i(3)] for case .i(let i) in a { print(i) } (edited)