Skip to content

Latest commit

 

History

History
36 lines (30 loc) · 1.02 KB

regular-expression-patterns.md

File metadata and controls

36 lines (30 loc) · 1.02 KB
layout title partof num language next-page previous-page
tour
Wzorce wyrażeń regularnych
scala-tour
16
pl
extractor-objects
singleton-objects

Wzorce sekwencji ignorujące prawą stronę

Wzorce ignorujące prawą stronę są użyteczne przy dekomponowaniu danych, które mogą być podtypem Seq[A] lub klasą przypadku z iterowalnym parametrem, jak w poniższym przykładzie:

Elem(prefix:String, label:String, attrs:MetaData, scp:NamespaceBinding, children:Node*)

W tych przypadkach Scala pozwala wzorcom na zastosowanie symbolu _* w ostatniej pozycji, aby dopasować sekwencje dowolnej długości. Poniższy przykład demonstruje dopasowanie wzorca, który rozpoznaje początek sekwencji i wiąże resztę do zmiennej rest:

object RegExpTest1 extends App {
  def containsScala(x: String): Boolean = {
    val z: Seq[Char] = x
    z match {
      case Seq('s','c','a','l','a', rest @ _*) =>
        println("rest is " + rest)
        true
      case Seq(_*) =>
        false
    }
  }
}