Atelier pratique - le nommage des robots

Thématique : comprendre les notions de scope, de variable d’instance et de classe

Instructions :

Créer un programme orienté objet en Ruby permettant de répondre au problème suivant :

Lorsque les robots sortent de l’usine, ils n’ont pas de nom.
A la première mise en marche, un nom aléatoire est généré sous la fome de deux lettres (non-accentués !) en majuscules suivies de 3 chiffres, tels que RX837 ou BC111.
De temps en temps, nous devons réinitialiser un robot avec ses paramètres d’usine, ce qui signifie que son nom est effacé. La prochaine fois que vous le demanderez, il répondra avec un nouveau nom aléatoire.
Les noms doivent être aléatoires: ils ne doivent pas suivre une séquence prévisible. Des noms aléatoires signifient un risque de collision. Votre solution doit garantir que chaque robot existant porte un nom unique.
Afin de faciliter les tests, votre solution devra implémenter une méthode Robot.forget qui efface tout état partagé pouvant exister pour suivre les noms de robots en double.

Ressources