switch语句中的swift比较元组与或

switch语句中的swift比较元组与或,swift,switch-statement,tuples,Swift,Switch Statement,Tuples,在switch语句中,如何实现元组的多种可能性?注意我试过了 var duel = (comp1CurrCard, comp2CurrCard) switch duel { case (1||14||27||40, 1||14||27||40): println("ace duel") case (2,15,28,41),(2,15,28,41): println("2 duel") } com

在switch语句中,如何实现元组的多种可能性?注意我试过了

var duel = (comp1CurrCard, comp2CurrCard)
    switch duel {

        case (1||14||27||40, 1||14||27||40):
            println("ace duel")

        case (2,15,28,41),(2,15,28,41):
            println("2 duel")
    }
comp1CurrCard
comp2CurrCard
都是Int类型。 基本上我想要的是,如果比println(王牌决斗)多出1 | | | 14 | | | 27 | | | 40&
comp2CurrCard
==1 | | 14 | 27 | | 40

然而,我不知道如何最好地做到这一点,我知道我希望使用switch语句,因为它似乎是解决这一问题的最佳方法


由于错误,我知道我做错了什么:p感谢您的帮助

我能想到这个解决方案

var duel = (2, 2)

switch duel{
case let (m, n) where (m == 1 || m == 14 ||  m == 27 || m == 40) && (n == 2 || n == 14 || n == 27 || n == 40):
  println("ace duel")
case let (m, n) where (m == 2 || m == 15 || m == 28 || m==41) && (n == 2 || n == 15 || n == 28 || n == 41):
  println("2 duel")
default:
  println("No")
}

我能想到这个解决办法

var duel = (2, 2)

switch duel{
case let (m, n) where (m == 1 || m == 14 ||  m == 27 || m == 40) && (n == 2 || n == 14 || n == 27 || n == 40):
  println("ace duel")
case let (m, n) where (m == 2 || m == 15 || m == 28 || m==41) && (n == 2 || n == 15 || n == 28 || n == 41):
  println("2 duel")
default:
  println("No")
}

也许是这样的:

var duel = (comp1CurrCard, comp2CurrCard)
switch duel {

    case let (a, b) where [1,14,27,40].contains(a) && [1,4,27,40].contains(b):
        println("ace duel")

    case let (a,b) where [2,15,28,41].contains(a) && [2,15,28,41].contains(b):
        println("2 duel")
    default:
        println("something else")
}

也许是这样的:

var duel = (comp1CurrCard, comp2CurrCard)
switch duel {

    case let (a, b) where [1,14,27,40].contains(a) && [1,4,27,40].contains(b):
        println("ace duel")

    case let (a,b) where [2,15,28,41].contains(a) && [2,15,28,41].contains(b):
        println("2 duel")
    default:
        println("something else")
}