swift - 下限 < A < 上限

标签 swift boolean xcode6 boolean-expression

我需要知道某些东西是否在两个限制之间,但我在 Playground 上不断收到相同的两个错误,而且我似乎无法在网络上找到解决方案。知道如何在 Swift 中做到这一点吗?

var upperLimit = 20
var a = 10
var lowerlimit = 5

if a > lowerlimit < upperLimit{      
println(a)
}


if  lowerlimit < a < upperLimit{
println(a)
}

这两种方法都会给出相同的 (2) 错误消息:

--->!非关联运算符与相同优先级的运算符相邻

--> 无法使用列表类型“($t4, @Ivalue Int)”的参数调用“<”

最佳答案

这不是进行比较的有效方法。您需要通过两次比较来检查边界:

if a > lowerlimit && a < upperLimit {
    println(a)
}

尽管我更喜欢这种在范围内使用模式识别的方式。

if lowerlimit..<upperLimit ~= a {
    println(a)
}

请注意,模式识别方式要求包含下限,因此您需要将 lowerLimit 变量增加 1。

关于swift - 下限 < A < 上限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26029326/

相关文章:

ios - 原因 : '-[JSQMessagesCollectionViewFlowLayoutInvalidationContext invalidateFlowLayoutMessagesCache]: unrecognized selector sent to instance

ios - 从 UIBarButtonItem 显示 UIMenuController

Python:就地 "not' ing" boolean 值

java - java中Boolean和boolean的不同结果

swift - 如何检测两个快速移动物体之间的碰撞?

ios8 - 启动图像未显示在我的 iOS 应用程序中

swift - 阿拉莫菲尔后下一个瓦尔

java - boolean 值不会中断语句

ios - 椰子完全坏了

ios - 如何使用 Swift 的 prepareForSegue 函数指定要准备的 View Controller ?