Gere as configurações de fábrica dos robôs.
Quando um robô sai da linha de montagem, não tem nome.
Da primeira vez que ligas um robô, é gerado um nome aleatório no formato de duas letras maiúsculas seguidas de três algarismos, como RX837 ou BC811.
De vez em quando, é preciso repor um robô nas configurações de fábrica. Isso faz com que o nome seja apagado. Da próxima vez que perguntas, o robô responde com um novo nome aleatório.
Os nomes têm de ser aleatórios: não devem seguir uma sequência previsível. Usar nomes aleatórios implica um risco de colisões. A tua solução tem de garantir que todos os robôs existentes têm um nome único.
Para tornar isto mais fácil de testar, a tua solução vai ter de implementar um método Robot.forget que limpe qualquer estado partilhado que possa existir para controlar nomes de robôs duplicados.
Pontos extra se este método não precisar de fazer nada na tua solução.
Inscreve-te no Exercism para aprenderes e dominares Ruby com 21 conceitos121 exercícios, e mentoria humana real, tudo grátis.