// funct1.swift // By default, functions use their parameter names as labels for their // arguments. Write a custom argument label before the parameter name, // or write _ to use no argument label. #if os(OSX) || os(iOS) // for libraries, portable for OSX and Linux import Foundation #elseif os(Linux) import Glibc #endif// print("funct1.swift running \n") func greet(_ person: String, on day: String) -> String { return "Hello \(person), today is \(day)." } let ans = greet("John", on: "Wednesday") print(ans) print(" ") // a function can take variable number of arguments func arithmeticMean(_ numbers: Double...) -> Double { var total: Double = 0 for number in numbers { total += number } return total / Double(numbers.count) } // end arithmeticMean var mean: Double = 0 mean = arithmeticMean(1, 2, 3, 4, 5) // returns 3.0, which is the arithmetic mean of these five numbers print("mean = \(mean)") mean = arithmeticMean(3, 8.25, 18.75) print("mean = \(mean)") // a function can take a vector func aMean(_ numbers: [Double]) -> Double { var total: Double = 0 var count: Double = 0 for number in numbers { total += number count += 1.0 } return total / count } // end aMean let V = [1.0, 2.0, 3.0, 4.0, 5.0] print("V = \(V)") mean = aMean(V) print("mean V = \(mean)") var W = Array(repeating: 5.5, count: 4) print(W) mean = aMean(W) print("mean W = \(mean)") print("funct1.swift finished \n")