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.0 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.18 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.17 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.16 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.15 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.14 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.13 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.12 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.11 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.10 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.9 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.8 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.7 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.6 tracks/scala/exercises/robot-name/example.scala
trackler-2.0.5.5 tracks/scala/exercises/robot-name/example.scala