zoukankan      html  css  js  c++  java
  • Swift

    区间运算符可以用来表示两个操作数之间的范围集合。


    1,闭区间运算符:a...b
    1
    2
    3
    for iCount in 512...1024{
         //从512遍历到1024(包括1024)
    }


    2,半闭区间运算符:a..<b

    1
    2
    3
    4
    5
    var fruts = ["apple","orange","banana"]
    let iCount = fruts.count
    for i in 0..<icount{
        println("第(i+1)个水果是(fruts[i])")
    }


    3,字符串范围也可以使用区间运算符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //字符串截取
    let words = "Hangge.com"
     
    //不使用区间运算符
    let index = advance(words.startIndex, 4)
    let index2 = advance(words.startIndex, 6)
    var range1 = Range<String.Index>(start: index, end: index2)
    var rangeStr1 = words.substringWithRange(range1) //ge
     
    //使用区间运算符
    var range2 = advance(words.startIndex, 4)..<advance(words.startIndex, 6)
    var rangeStr2 = words.substringWithRange(range2) //ge


    4,区间运算符除了返回一个Range外,还可以接受Comparable的输入,返回ClosedInterval或HalfOpenInterval

    所以我们可以用这个特性检查字符串里的字符是不是都是合法字符(比如是不是都是小写)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    let words = "Hangge.com"
            
    let interval = "a"..."z"
    for c in words {
        if !interval.contains(String(c)){
                println("(c)不是小写字母")
        }
    }
             
    //H不是小写字母
    //.不是小写字母
  • 相关阅读:
    Lesson 43-44 Vacation Season is Approaching?
    Lesson 41-42 How would you respond?
    Lesson 37-38 Do you want to be a millionaire?
    Lesson 35-36 What did you forget?
    Lesson 33-34 Dieting
    保送
    陈老师搬书
    水题(原 USACO Mother's Milk)
    最大公约数和最小公倍数问题(luogu 1029)
    最大子矩阵(OJ 1768)
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4838077.html
Copyright © 2011-2022 走看看