Tuple

Tuples have accessors that are named by their position and is 1-based rather than 0-based.

val hostPort = ("localhost", "80")

val host = hostPort._1
val port = hostPort._2

Tuples fit with pattern matching nicely.

hostPort match{
    case ("localhost","80") => ...
    case ("localhost","8080") => ...
    case _ => "Host and Port not found"
}