jweinst1
2/25/2016 - 4:32 AM

str enumerator in swift

str enumerator in swift

//string numerator
struct strenumerator {
    var map:[String: Int]
    var currentnum:Int
    
    init() {
        self.map = [String:Int]()
        self.currentnum = 1
    }
    
    mutating func add(val:String) {
        if self.map.keys.contains(val) {
            print("Enumerator already contains \(val)")
        }
        else {
            self.map[val] = self.currentnum
            self.currentnum += 1
        }
    }
    //allows getitem access for checking values
    subscript(key:String) ->Int {
        return self.map[key]!
    }
    //allows an array of strings to be enumerated
    mutating func addarray(vals:[String]) {
        for elem in vals {
            self.add(elem)
        }
    }
    
}