Sha256: 515b3df2113bdee3df2f28292158ca17cd974073224e5a9b90cae0a346795854

Contents?: true

Size: 660 Bytes

Versions: 139

Compression:

Stored size: 660 Bytes

Contents

object Bob {
  def response(statement: String): String = statement match {
    case Shouting() => "Whoa, chill out!"
    case Question() => "Sure."
    case Silence() => "Fine. Be that way!"
    case _ => "Whatever."
  }

  case object Shouting {
    def unapply(statement: String) =
      hasLetter(statement) && isOnlyUppercase(statement)

    private def hasLetter(s: String) = s.matches(".*[A-Z].*")

    private def isOnlyUppercase(s: String) = s == s.toUpperCase
  }

  case object Question {
    def unapply(statement: String) = statement.trim.endsWith("?")
  }

  case object Silence {
    def unapply(statement: String) = statement.trim.isEmpty
  }
}

Version data entries

139 entries across 139 versions & 1 rubygems

Version Path
trackler-2.2.1.104 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.103 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.102 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.101 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.100 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.99 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.98 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.97 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.96 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.95 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.94 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.93 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.92 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.91 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.90 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.89 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.88 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.87 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.86 tracks/scala/exercises/bob/example.scala
trackler-2.2.1.85 tracks/scala/exercises/bob/example.scala