Swift 如何创建if语句以请求包含or的求和

Swift 如何创建if语句以请求包含or的求和,swift,if-statement,xcode6,Swift,If Statement,Xcode6,我想让计算机来计算 if 1 or 2 + 2 or 3 + 4 or 5 == 6{ // do this } 它将遍历这些组合,发现在第一个数字之间,它将是1,然后是2,然后是3,这将等于6。我如何在代码中做到这一点呢?现在还不清楚你想做什么,但根据你最近的评论,我给出了最好的猜测 给定一个表达式列表,它们中是否有一个等于6 let expressions = [ 1, 2 + 2, 3 + 4, 5, 6 ] for expression in expressions { i

我想让计算机来计算

if 1 or 2 + 2 or 3 + 4 or 5 == 6{
  // do this
  }

它将遍历这些组合,发现在第一个数字之间,它将是1,然后是2,然后是3,这将等于6。我如何在代码中做到这一点呢?

现在还不清楚你想做什么,但根据你最近的评论,我给出了最好的猜测

给定一个表达式列表,它们中是否有一个等于6

let expressions = [ 1, 2 + 2, 3 + 4, 5, 6 ]
for expression in expressions {
  if expression == 6 {
    println("found the number 6!")
    break
  }  
}

如果任何表达式等于6,则上面将打印“找到数字6!”,在本例中,数组中的最后一个条目是6,因此它将打印“找到数字6!”

我相信您试图问的问题是:给定列表
[1,2]
[2,3]
[3,4]
,这些值的组合总和是6。如果是这样的话,您只需要将它们相加并进行检查

let xs = [1,2]
let ys = [2,3]
let zs = [3,4]

func combine<T,U,V>(xs: [T], ys:[U], zs:[V]) -> [(T,U,V)] {
    var result = [(T,U,V)]()
    for x in xs {
        for y in ys {
            for z in zs {
                result.append(x,y,z)
            }
        }
    }
    return result
}

let combinations = combine(xs, ys, zs)
    .filter { (x, y, z) in (x + y + z) == 6 }
让xs=[1,2]
设ys=[2,3]
设zs=[3,4]
函数组合(xs[T],ys[U],zs[V])->[(T,U,V)]{
var结果=[(T,U,V)]()
对于x-in-xs{
为y在y{
对于zs中的z{
结果.追加(x,y,z)
}
}
}
返回结果
}
让组合=联合收割机(xs、ys、zs)
.filter{(x,y,z)in(x+y+z)==6}

您的问题很不清楚。添加您尝试过的更多详细信息或代码。您试图实现什么?您是否有多个要比较的变量,以查看其中是否有一个等于6?