swift-subscript

2016-12-19  本文已影响6人  lotawei

字面上很难说出这个是可以干什么
因此这里描述一个现象
一个数组一般很多类似像这样

var arr = [1,2,3,5,5]
现在需要重复的名字改掉因为重复的名字可能只有那么一两个
我希望这样就能改掉 arr[[3,4]] = [4,5] //arr [1,2,3,4,5]

  extension Array {
subscript(input: [Int]) -> ArraySlice<Element> {
    get {
        var result = ArraySlice<Element>()
        for i in input {
            assert(i < self.count, "Index out of range")
            result.append(self[i])
        }
        return result
          }
    
    set {
        for (index,i) in input.enumerated() {
            assert(i < self.count, "Index out of range")
            self[i] = newValue[index]
        }
    }
}
  }
上一篇 下一篇

猜你喜欢

热点阅读