Track
/
Go
Go
/
Esercizi
/
Nome del robot
Nome del robot

Nome del robot

Medio

Istruzioni

Gestisci le impostazioni di fabbrica dei robot.

Quando un robot esce dalla catena di montaggio, non ha un nome.

La prima volta che accendi un robot, viene generato un nome casuale nel formato di due lettere maiuscole seguite da tre cifre, come RX837 o BC811.

Ogni tanto dobbiamo ripristinare un robot alle impostazioni di fabbrica, il che significa che il suo nome viene cancellato. La prossima volta che lo chiedi, quel robot risponderà con un nuovo nome casuale.

I nomi devono essere casuali: non devono seguire una sequenza prevedibile. Usare nomi casuali comporta un rischio di collisioni. La soluzione deve garantire che ogni robot esistente abbia un nome univoco.

Implementazione

È possibile esaurire i nomi dei robot: una volta che ogni possibile nome di robot è stato assegnato, si dovrebbe restituire un errore.

Test bonus

Una volta che go test passa, troverai nella suite di test un test chiamato TestCollisions, che viene saltato per impostazione predefinita perché può richiedere molto tempo. Questo test crea nuovi robot finché non è più possibile assegnare nuovi nomi al robot.

Per far eseguire il test, rimuovi questa riga:

t.Skip("skipping test as it can take a long time to run if solution is sub-optimal.")

Per far passare questo test dovrai assicurarti che il nome di un robot non sia già stato usato e che i nomi possano essere assegnati in modo efficiente.


Fonte

Una sessione di debug con Paul Blackwell a gSchool.
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Go Exercism

Vuoi iniziare Nome del robot?

Iscriviti a Exercism per imparare e padroneggiare Go con 34 concetti165 esercizi e il mentoring di persone reali, tutto gratis.