// exsw3a.swift declare dictionary, class #if os(OSX) || os(iOS) // for libraries, portable for OSX and Linux import Foundation #elseif os(Linux) import Glibc #endif// print("exsw3a.swift running") // define a dictionary and use some operations let interestingNumbers = [ "Prime": [2, 3, 5, 7, 11, 13, 17], "Fibonacci": [1, 1, 2, 3, 5, 8, 13, 21], "Square": [1, 4, 9, 16, 25], "Cube":[1, 8, 27, 64] ] var largest = 0 var mykind = " " for (kind, numbers) in interestingNumbers { for number in numbers { if number > largest { largest = number mykind = kind } } } print("kind=\(mykind) large=\(largest)") var mynumber = 9 for (kind, numbers) in interestingNumbers { for number in numbers { if number == mynumber { mykind = kind } } } print("kind=\(mykind) has \(mynumber)") // define a class and use some operations class NamedShape { var numberOfSides: Int = 0 var name: String init(name: String) { self.name = name } func simpleDescription() -> String { return "A shape with \(numberOfSides) sides." } } // end class NamedShape class Square: NamedShape { var sideLength: Double init(sideLength: Double, name: String) { self.sideLength = sideLength super.init(name: name) numberOfSides = 4 } func area() -> Double { return sideLength * sideLength } override func simpleDescription() -> String { return "A square with sides of length \(sideLength)." } } let test = Square(sideLength: 5.2, name: "my test square") let aans = test.area() print(aans) let dans = test.simpleDescription() print(dans) print("exsw3a.swift finished")