import Foundation
enum Log {
//Constante debug com um parâmetro String
case debug(String)
//Constante warning com um parâmetro String
case warning(String)
//Constante error com um parâmetro String
case error(String)
//Função do enumerador que escreve no console/terminal
func write() {
//Obtém a data atual
let now = Date()
switch (self) {
//Caso o enumerador seja debug
case Log.debug(let d):
//Escreve na tela a data atual, a palavra [DEBUG] e o parâmetro "d" passado na constante
print("\(now) [DEBUG] \(d)")
//Caso o enumerador seja warning
case Log.warning(let w):
//Escreve na tela a data atual, a palavra [WARNING] e o parâmetro "w" passado na constante
print("\(now) [WARNING] \(w)")
//Caso o enumerador seja error
case Log.error(let e):
//Escreve na tela a data atual, a palavra [ERROR] e o parâmetro "e" passado na constante
print("\(now) [ERROR] \(e)")
//Caso não seja nenhum deles, dá um erro
default:
fatalError("Unsupported")
}
}
}
//Exemplo de uso
Log.error("Ocorreu um erro").write()
Log.warning("Variavel é nula, utilizando valor 0 como default").write()
let pi = 3.14
Log.debug("Valor da constante pi=\(pi)").write()
Bizarro, não?
Até mais!
Nenhum comentário:
Postar um comentário