如果整数大于x但小于y(Swift)
我想知道是否有任何平滑的方法可以检查swift中某个范围内的整数的值 我有一个整数,可以是0到1000之间的任何数字 我想为“如果整数在300和700之间-做这个,如果是任何其他数字-做其他事情”写一个if语句 我可以写:如果整数大于x但小于y(Swift),swift,if-statement,integer,range,Swift,If Statement,Integer,Range,我想知道是否有任何平滑的方法可以检查swift中某个范围内的整数的值 我有一个整数,可以是0到1000之间的任何数字 我想为“如果整数在300和700之间-做这个,如果是任何其他数字-做其他事情”写一个if语句 我可以写: if integer > 300 { if integer < 700 { //do something else1 } //do something } else { // do something else2 }
if integer > 300 {
if integer < 700 {
//do something else1
}
//do something
} else {
// do something else2
}
如果整数>300{
如果整数<700{
//做点别的
}
//做点什么
}否则{
//做点别的事2
}
但我想尽量减少要编写的代码量,因为“做其他事情1”和“做其他事情2”应该是相同的
你似乎不能写:
if 300 < integer < 700 {
} else {
}
如果300
我试着用
if integer == 300..<700 {
}
如果整数==300..您尝试过这个吗
if integer > 300 && integer < 700 {
// do something
} else {
// do something else
}
if integer>300&&integer<700{
//做点什么
}否则{
//做点别的
}
希望这有帮助有一种类型,HalfOpenInterval
,它可以用..
构造,并且有一个。包含方法:
if (301..<700).contains(integer) {
// etc.
}
您应该真正阅读文档:“我尝试使用”if integer==300..感谢您指出这一点!所以最短的方法是使用if 300。。。700~=整数{//做点什么}其他{//做点什么}谢谢,这确实有效!我认为可能有一种更简短的方法来编写它,而不必重复使用&&和“integer”,但这可能是最好的方法。谢谢你事实上我确实找到了一个马丁R指给你写的简短方式:如果300。。。700~=整数{}William+1,但使用半开运算符!有趣的是,当Xcode 6.3处于优化模式时,这也给出了与if integer>300和
或if 300相同的“优化”汇编代码。。。700~=integer
我刚刚添加到其中。是的,显然所有的标准库代码都可以内联(而且swift编译器非常热衷于内联-O),正如Willian Larson指出的,contains操作符可以用于更短的语法,在if 300中..我不确定~=
操作符的真正用途是什么,我认为这更多的是作为切换的基本机制,而不是应该单独使用的东西<代码>。包含更清晰的IMHO意向信号。
let interval = 301..<700 as HalfOpenInterval
if interval.contains(integer) {
// etc.
}