Swift 在斯威夫特语中“uu”是什么意思?
几天前,我将旧的Xcode 8项目转换为Xcode 9中的Swift 4。 我注意到额外的Swift代码生成以及代码上方的解释 下面是它的样子:Swift 在斯威夫特语中“uu”是什么意思?,swift,Swift,几天前,我将旧的Xcode 8项目转换为Xcode 9中的Swift 4。 我注意到额外的Swift代码生成以及代码上方的解释 下面是它的样子: // FIXME: comparison operators with optionals were removed from the Swift Standard Libary. // Consider refactoring the code to use the non-optional operators. fileprivate func &
// FIXME: comparison operators with optionals were removed from the Swift Standard Libary.
// Consider refactoring the code to use the non-optional operators.
fileprivate func < <T : Comparable>(lhs: T?, rhs: T?) -> Bool {
switch (lhs, rhs) {
case let (l?, r?):
return l < r
case (nil, _?):
return true
default:
return false
}
}
//FIXME:带有可选项的比较运算符已从Swift标准库中删除。
/考虑重构代码以使用非可选运算符。
fileprivate func<(左:T?、右:T?->Bool{
开关(左、右){
小木箱(l?,r?):
返回l
我试图理解代码的作用,并在代码中找到我认为不寻常的东西
我猜它是未使用的可选的,因为
意味着我们不打算使用特定的变量,所以我们不关心变量的名称,?
是可选语法
谢谢你的帮助 \uu
是匹配任何内容的通配符模式,请参见示例
x?
是可选模式,是的快捷方式。一些(x)
,它匹配
非nil
的可选值
在这里,我们将两者结合起来:。
匹配任何
非nil
如果左操作数是nil
而右操作数不是。您还可以将其写成大小写(.none,.some)
Xcode可以在从较旧的Swift版本迁移期间插入此函数,
比较。它的意思是“它是可选的,对它是什么不感兴趣”。再想想,我不确定它是否100%重复。这里的?
是带有通配符模式的可选模式。它匹配任何不是零的东西。我确实知道\uu
的意思。但是看到它与?
搭配是有点不寻常的。这就是我所问的问题,而不是简单的。
的含义。我试图从。
中删除?
,因此它变成了大小写(nil,)
,结果表明该代码的工作方式与。
相同。所以我认为这里使用?
是为了强调我们处理的是可选变量,而不是普通变量。CMIW。谢谢。@fitsyu:如果没有问号,“nillet a:Int?=无打印(a
右侧。我在此确认。谢谢@Martin R。非常感谢。