如果整数大于 x 但小于 y (Swift)
if integer is greater than x but less than y (Swift)
我想知道是否有任何流畅的方法来检查 swift 范围内的整数值。
我有一个整数,可以是 0 到 1000 之间的任何数字
我想为 "if the integer is between 300 and 700 - do this and if its any other number - do something else"
写一个 if 语句
我可以写:
if integer > 300 {
if integer < 700 {
//do something else1
}
//do something
} else {
// do something else2
}
但我想尽量减少编写的代码量,因为 "do something else1" 和 "do something else2" 应该是相同的
看来你不会写:
if 300 < integer < 700 {
} else {
}
我尝试使用
if integer == 300..<700 {
}
但这也没有用。有人有建议吗?
你试过吗?
if integer > 300 && integer < 700 {
// do something
} else {
// do something else
}
希望对您有所帮助
有一个类型 HalfOpenInterval
可以用 ...
构造并且有一个 .contains
方法:
if (301..<700).contains(integer) {
// etc.
}
注意,301..<700
本身会创建一个 Range
,它没有 contains 函数,但 Swift 的类型推断会发现您正在调用一个只有 HalfOpenInterval
拥有的方法,因此选择了特定的重载。
我提到这个只是因为如果你想将间隔存储为变量而不是在线使用它,你需要指定:
let interval = 301..<700 as HalfOpenInterval
if interval.contains(integer) {
// etc.
}
我想知道是否有任何流畅的方法来检查 swift 范围内的整数值。
我有一个整数,可以是 0 到 1000 之间的任何数字
我想为 "if the integer is between 300 and 700 - do this and if its any other number - do something else"
写一个 if 语句我可以写:
if integer > 300 {
if integer < 700 {
//do something else1
}
//do something
} else {
// do something else2
}
但我想尽量减少编写的代码量,因为 "do something else1" 和 "do something else2" 应该是相同的
看来你不会写:
if 300 < integer < 700 {
} else {
}
我尝试使用
if integer == 300..<700 {
}
但这也没有用。有人有建议吗?
你试过吗?
if integer > 300 && integer < 700 {
// do something
} else {
// do something else
}
希望对您有所帮助
有一个类型 HalfOpenInterval
可以用 ...
构造并且有一个 .contains
方法:
if (301..<700).contains(integer) {
// etc.
}
注意,301..<700
本身会创建一个 Range
,它没有 contains 函数,但 Swift 的类型推断会发现您正在调用一个只有 HalfOpenInterval
拥有的方法,因此选择了特定的重载。
我提到这个只是因为如果你想将间隔存储为变量而不是在线使用它,你需要指定:
let interval = 301..<700 as HalfOpenInterval
if interval.contains(integer) {
// etc.
}