Closure MotorListrik

Run Settings
LanguageSwift
Language Version
Run Command
func getInput(_ message : String)-> String?{ print(message, terminator : ":") return readLine() } func getInputInt(_ message: String)->Int?{ if let inputString = getInput(message){ return Int(inputString) } else { return nil } } var speedTotal = 0 func makeIncrementer(forIncrement amount: Int)->()->Int{ func incrementer() -> Int{ speedTotal += amount return speedTotal } return incrementer } func makeDecrementer(forDecrement amount: Int)->()->Int{ func decrementer()-> Int{ speedTotal -= amount return speedTotal } return decrementer } let incrementByTen = makeIncrementer(forIncrement: 10) let decrementByTen = makeDecrementer(forDecrement: 10) // menyalakan mesin motor listrik func turnOnEngine() { print("Hidupkan mesin.........") print("Selamat datang di Motor Listrik Dicoding") print("Brem brem brem brem") } // mematikan mesin motor listrik func turnOffEngine() { print("Ciiiiiiiitttttt......") print("Motor berhenti!!!!") } // menampilkan kecepatan saat ini func showSpeed() { print("Kecepatan saat ini : \(speedTotal)") print("Ngeeeeengggggggg") } func action() { print("----------------------------------------") print("Ayo beraksi:") print("[1] Tambahkan kecepatan") print("[2] Kurangi kecepatan") print("[3] Matikan mesin") if let state = getInputInt("Masukkan menu"){ switch state{ case 1: speedTotal = incrementByTen() showSpeed() action() break case 2: if speedTotal > 0 { speedTotal = decrementByTen() showSpeed() action() } else { turnOffEngine() break } break case 3: turnOffEngine() break default: break } } else { print("Tidak valid!") } } turnOnEngine() action()
Editor Settings
Theme
Key bindings
Full width
Lines