Tracks
/
Go
Go
/
Übungen
/
Robotername
Robotername

Robotername

Mittel

Anleitung

Verwalte die Einstellungen der Roboterfabrik.

Wenn ein Roboter das Werk verlässt, hat er noch keinen Namen.

Wenn du einen Roboter zum ersten Mal einschaltest, wird ein zufälliger Name erzeugt: zwei Großbuchstaben gefolgt von drei Ziffern, zum Beispiel RX837 oder BC811.

Ab und zu müssen wir einen Roboter auf seine Werkseinstellungen zurücksetzen. Dabei wird sein Name gelöscht. Wenn du ihn das nächste Mal fragst, antwortet er mit einem neuen zufälligen Namen.

Die Namen müssen zufällig sein und dürfen keinem vorhersehbaren Muster folgen. Zufällige Namen bringen die Gefahr von Kollisionen mit sich. Deine Lösung muss sicherstellen, dass jeder vorhandene Roboter einen eindeutigen Namen hat.

Implementierung

Es kann passieren, dass die Roboternamen ausgehen. Sobald jeder mögliche Robotername vergeben ist, sollte ein Fehler zurückgegeben werden.

Bonus-Test

Sobald go test durchläuft, wirst du feststellen, dass es in der Testsuite einen Test namens TestCollisions gibt, der standardmäßig übersprungen wird, weil er lange dauern kann. Dieser Test erstellt neue Roboter, bis dem Roboter keine neuen Namen mehr zugewiesen werden können.

Damit der Test ausgeführt wird, entferne diese Zeile:

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

Damit dieser Test durchläuft, musst du sicherstellen, dass der Name eines Roboters nicht schon einmal verwendet wurde und dass Namen effizient vergeben werden können.


Quelle

Eine Debugging-Sitzung mit Paul Blackwell bei gSchool.
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Go Exercism

Bereit, mit Robotername zu starten?

Melde dich bei Exercism an, um Go mit 34 Konzepte165 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.