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