Perguntas com a marcação «pattern-matching»

Use esta tag para perguntas sobre como testar se uma estrutura de dados tem uma forma específica ou contém valores específicos em determinados locais. Muitas linguagens funcionais fornecem construções de correspondência de padrões. A maioria das perguntas nesta tag também deve ter a tag para a linguagem em que você está programando. NÃO USE ESTA TAG PARA PERGUNTAS DE EXPRESSÃO REGULAR, USE [regex] EM VEZ; da mesma forma, para correspondência de padrões (globbing) em shells do tipo POSIX, use [glob].

195
O que `: _ *` (estrela de dois pontos) faz em Scala?

Eu tenho o seguinte pedaço de código desta pergunta : def addChild(n: Node, newChild: Node) = n match { case Elem(prefix, label, attribs, scope, child @ _*) => Elem(prefix, label, attribs, scope, child ++ newChild : _*) case _ => error("Can only add children to elements!") } Tudo está bem...

99
Combine várias classes de casos em scala

Estou fazendo correspondência com algumas classes de caso e gostaria de tratar dois dos casos da mesma maneira. Algo assim: abstract class Foo case class A extends Foo case class B(s:String) extends Foo case class C(s:String) extends Foo def matcher(l: Foo): String = { l match { case A() =>...