Day-n learning Swift

Run Settings
LanguageSwift
Language Version
Run Command
print("capturing values") func makeIncrementer(forIncrement amount: Int) -> () -> Int { var running = 0 func incrementer() -> Int { running += amount return running } return incrementer } let tambahSatu = makeIncrementer(forIncrement: 1) print("Nilai sekarang: \(tambahSatu())") print("Nilai sekarang: \(tambahSatu())") print("Nilai sekarang: \(tambahSatu())") let anotherTambahSatu = tambahSatu print("Nilai sekarang: \(anotherTambahSatu())") print("Autoclosures!") var customerInLine = ["Joko", "Joseph", "Josua", "Jeffry", "Justin", "John"] print(customerInLine.count) let customerProvider = { customerInLine.remove(at: 0) } func serve(customer customerProvider: () -> String) { print("Now serving: \(customerProvider())") } print("Now serving: \(serve(customer: {customerInLine.remove(at: 0)}))")
func getInput(message: String) -> String? { print(message, terminator: ": "); return readLine() } func getInputInt(message: String) -> Int? { if let inputString = getInput(message: message) { return Int(inputString) } else { return nil } } var speedTotal = 0 func tambahKecepatan(forIncrement tambah: Int) -> () -> Int { func incrementer() -> Int { speedTotal += tambah return speedTotal } return incrementer } func kurangKecepatan(forDecrement kurang: Int) -> () -> Int { func decrement() -> Int { speedTotal -= kurang return speedTotal } return decrement } let naikkanSepuluh = tambahKecepatan(forIncrement: 10) let kurangiSepuluh = kurangKecepatan(forDecrement: 10) // menyalakan mesin motor listrik func turnOn() { print("Menghidupkan mesin...") print("Selamat datang di Motor Listrik Dicoding!") print("Let's get started!") } func turnOff() { print("Let's take a break!") print("Mematikan mesin...") } func showSpeed() { print("Kecepatan saat ini: \(speedTotal)") } func action() { print("=======================================================") print("Pilih aksi:") print("[1] Tambahkan kecepatan!") print("[2] Kurangi kecepatan!") print("[3] Matikan mesin!") if let state = getInputInt(message: "Masukkan aksi Anda"), state <= 3 { switch state { case 1: speedTotal = naikkanSepuluh() showSpeed() action() case 2: if speedTotal > 0 { speedTotal = kurangiSepuluh() showSpeed() action() } else { turnOff() break } case 3: turnOff() break default: break } } else { print("Input tidak valid!") } } turnOn action()
Editor Settings
Theme
Key bindings
Full width
Lines