Kurzusok
/
Go
Go
/
Feladatok
/
Robotnév
Robotnév

Robotnév

Közepes

Utasítások

Kezeld a robotgyár beállításait.

Amikor egy robot legördül a gyártósorról, még nincs neve.

Amikor először bekapcsolsz egy robotot, egy véletlenszerű név generálódik: két nagybetű, majd három számjegy, például RX837 vagy BC811.

Időnként vissza kell állítanunk egy robotot a gyári beállításaira, ami azt jelenti, hogy a neve törlődik. Amikor legközelebb rákérdezel, az a robot egy új véletlenszerű névvel válaszol.

A neveknek véletlenszerűnek kell lenniük: nem követhetnek kiszámítható sorrendet. A véletlenszerű nevek használata ütközés kockázatával jár. A megoldásodnak biztosítania kell, hogy minden létező robot neve egyedi legyen.

Megvalósítás

Előfordulhat, hogy elfogynak a robotnevek: ha már minden lehetséges robotnevet kiosztottunk, akkor hibát kell visszaadni.

Bónuszteszt

Miután a go test sikeresen lefut, azt fogod látni, hogy a tesztek között van egy TestCollisions nevű teszt, amelyet alapértelmezés szerint kihagynak, mert sokáig tarthat. Ez a teszt addig hoz létre új robotokat, amíg már nem lehet új nevet adni a robotnak.

Ahhoz, hogy a teszt lefusson, töröld ezt a sort:

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

Ahhoz, hogy ez a teszt sikeres legyen, gondoskodnod kell róla, hogy egy robot nevét még ne használták korábban, és hogy a neveket hatékonyan lehessen kiosztani.


Forrás

Hibakeresési munkamenet Paul Blackwell-lel a gSchoolban.
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Go Exercism

Készen állsz elkezdeni a(z) Robotnév feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Go nyelvet 34 fogalom165 feladat segítségével, valódi emberi mentorálással, mindez ingyen.