我想知道是否有任何平滑的方法来检查swift范围内的整数值。
我有一个整数,可以是0到1000之间的任何数字
我想写一个if语句,“如果整数在300到700之间 - 这样做,如果是其他任何数字 - 做其他事情”
我可以写:
if integer > 300 {
if integer < 700 {
//do something else1
}
//do something
} else {
// do something else2
}
但我希望尽量减少要编写的代码量,因为“执行其他操作1”和“执行其他操作2”应该是相同的
似乎你不能写:
if 300 < integer < 700 {
} else {
}
我尝试使用
if integer == 300..<700 {
}
但这也不起作用。有人有建议吗?
答案 0 :(得分:12)
你试过这个吗?
if integer > 300 && integer < 700 {
// do something
} else {
// do something else
}
希望这有帮助
答案 1 :(得分:8)
有一种类型HalfOpenInterval
,可以使用...
构建,并且具有.contains
方法:
if (301..<700).contains(integer) {
// etc.
}
注意,301..<700
本身会创建一个Range
,它没有contains函数,但是Swift的类型推断会看到你正在调用一个只有{{1}的方法} has,所以选择特定的重载。
我之所以提到这一点,是因为如果您想将间隔存储为变量而不是在线使用,则需要指定:
HalfOpenInterval