Swift 动态范围 1...12.contains(1) 无法使用 (Int) 调用 'contains'
Swift Range on the fly 1...12.contains(1) Cannot invoke 'contains' with (Int)
不可能创建一个范围并像这样调用它的包含方法:
1...12.contains(1)
当我创建一个 var range = 1...12
并打印它的 dynamicType 时,我得到一个 Swift.Range<Swift.Int>
,所以我猜这不是类型不匹配问题,是吗?
在这种情况下,问题在于运算符优先级:
(1...12).contains(1) // -> true
(否则代码看起来确实模棱两可)
将范围放在括号中,它应该可以工作:
(1...12).contains(1)
另一个检查这个的好方法:(使用模式匹配运算符)
if 2...5 ~= 4 {
// do something
}
不可能创建一个范围并像这样调用它的包含方法:
1...12.contains(1)
当我创建一个 var range = 1...12
并打印它的 dynamicType 时,我得到一个 Swift.Range<Swift.Int>
,所以我猜这不是类型不匹配问题,是吗?
在这种情况下,问题在于运算符优先级:
(1...12).contains(1) // -> true
(否则代码看起来确实模棱两可)
将范围放在括号中,它应该可以工作:
(1...12).contains(1)
另一个检查这个的好方法:(使用模式匹配运算符)
if 2...5 ~= 4 {
// do something
}