闭包参数中的元组成员提取
Tuple member extraction in closure arguments
考虑这个元组数组:
var tupleArray = [(String, Int)]()
tupleArray.append(("bonjour", 2))
tupleArray.append(("Allo", 1))
tupleArray.sort { (t1 , t2) -> Bool in
let (_, n1) = t1
let (_, n2) = t2
return n1 < n2
}
我想通过做这样的事情来缩短闭包:
tupleArray.sort { ((_, n1) , (_, n2)) -> Bool in
n1 < n2
}
第一:可能吗?
第二:如果可能的话语法是什么?
谢谢
好吧,你可以使用简短的闭包语法:
tupleArray.sort { [=10=].1 < .1 }
参见 the official guide 关于短闭包语法,.1
只是元组索引访问。
考虑这个元组数组:
var tupleArray = [(String, Int)]()
tupleArray.append(("bonjour", 2))
tupleArray.append(("Allo", 1))
tupleArray.sort { (t1 , t2) -> Bool in
let (_, n1) = t1
let (_, n2) = t2
return n1 < n2
}
我想通过做这样的事情来缩短闭包:
tupleArray.sort { ((_, n1) , (_, n2)) -> Bool in
n1 < n2
}
第一:可能吗?
第二:如果可能的话语法是什么?
谢谢
好吧,你可以使用简短的闭包语法:
tupleArray.sort { [=10=].1 < .1 }
参见 the official guide 关于短闭包语法,.1
只是元组索引访问。