14.6. Krotki we wzorcach

Krotki posiadają specjalne wsparcie w składni języka Scala. Również w przypadku dopasowania wzorców język oferuje specjalne wsparcie dla krotek. W pliku PatternsTuples.scala znajdują się przykłady wzorców dopasowujących krotki.

Plik PatternsTuples.scala:
def tuplePattern(value: Any):String = value match {
  case (x, y) => "Tuple2. x: "+x+" y:"+y
  case (x: Int, _, _) => "Tuple3. x: "+x
  case _ => "Not matched."
}

Pierwszy wzorzec dopasowuje dowolną krotkę dwuelementową. Jednocześnie zmiennym x i y przypisywane są wartości obu elementów krotki. Drugi wzorzec dopasowuje trójelementową krotkę, w której pierwszy element jest typu Int. Użyte wzorce ilustrują też to, że różne rodzaje wzorców można łączyć ze sobą.

scala> :load PatternsTuples.scala
Loading PatternsTuples.scala...
tuplePattern: (value: Any)String

scala> tuplePattern((1,2))
res0: String = Tuple2. x: 1 y:2

scala> tuplePattern((1,2,3))
res1: String = Tuple3. x: 1

scala> tuplePattern(("abc",2,3))
res2: String = Not matched.

Język programowania Scala Wydanie 2. Copyright © Grzegorz Balcerek 2016

Licencja Creative Commons

Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowe.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.