Sobes.tech
Junior — Middle

Que tipo de dado pode ser criado usando enumerações indiretas?

sobes.tech IA

Resposta da IA

As enumerações indiretas (indirect enums) no iOS (Swift) permitem criar enumerações que podem conter valores associados, incluindo estruturas recursivas. Com elas, é possível criar tipos de dados complexos, como árvores ou expressões.

Exemplo: uma enumeração recursiva para uma expressão aritmética:

indirect enum ExpressaoAritmetica {
    case numero(Int)
    case soma(ExpressaoAritmetica, ExpressaoAritmetica)
    case multiplicacao(ExpressaoAritmetica, ExpressaoAritmetica)
}

// Uso:
let cinco = ExpressaoAritmetica.numero(5)
let quatro = ExpressaoAritmetica.numero(4)
let soma = ExpressaoAritmetica.soma(cinco, quatro)
let produto = ExpressaoAritmetica.multiplicacao(soma, ExpressaoAritmetica.numero(2))

Dessa forma, as enumerações indiretas permitem criar tipos de dados recursivos e complexos, que não podem ser expressos com enumerações normais.