2014-09-25 112 views
2

我需要知道是否有兩個限制之間的東西,但我一直在操場上得到相同的2個錯誤,我似乎無法在網上找到解決方案。任何想法如何在Swift中做到這一點?下限<A <上限

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

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


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

這些方法都得到相同的(2)的錯誤消息:

--->!非關聯經營者毗鄰相同的優先級的運營商

- >無法與列表類型的參數調用「<」‘($ T4,@Ivalue智力)’

回答

3

這不是做一個有效的方法比較。你需要通過兩次比較檢查邊界:

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

雖然我更喜歡這種方式使用模式識別的範圍。

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

請注意,模式識別方式要求下限是包容性的,所以您需要將lowerLimit變量加1。

相關問題