Sha256: 5186a2f1169e73bd0c4f9c9c48331a5639fde1f46e6545a4d32af3649705f2eb

Contents?: true

Size: 477 Bytes

Versions: 355

Compression:

Stored size: 477 Bytes

Contents

import scala.util.Random

object UniqueNames {
  val names =
    Random.shuffle(1 to 26 * 26 * 1000).iterator.map(n => {
      val lettersPart = n / 1000
      val firstLetter = 'A' + (lettersPart / 26)
      val secondLetter = 'A' + (lettersPart % 26)
      f"$firstLetter%c$secondLetter%c${n % 1000}%03d"
    })
}

class Robot {
  private var storedName = UniqueNames.names.next()

  def name: String = storedName
  def reset(): Unit = storedName = UniqueNames.names.next()
}

Version data entries

355 entries across 355 versions & 1 rubygems

Version Path
trackler-2.0.6.20 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.19 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.18 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.17 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.16 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.15 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.14 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.13 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.12 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.11 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.10 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.9 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.8 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.7 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.6 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.5 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.4 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.3 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.2 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.6.1 tracks/scala/exercises/robot-name/example.scala