Articles of correspondência de padrões

Haskell: Analisar erro no padrão

Quem gosta de me dizer o que está errado com este código (sintaticamente)? — merge two sorted lists mergeX [] b res = b ++ res mergeX a [] res = a ++ res mergeX a:as b:bs res | a > b = mergeX as b:bs a:res | otherwise = mergeX a:as bs b:res Intérprete: […]

Igualdade de class de caso no Apache Spark

Por que a correspondência de padrões no Spark não funciona da mesma maneira que no Scala? Veja o exemplo abaixo … A function f() tenta combinar com o padrão na class, o que funciona no Scala REPL, mas falha no Spark e resulta em todos os “???”. f2() é uma solução alternativa que obtém o […]

Expressão regular para corresponder ao número de telefone padrão de 10 dígitos

Quero escrever uma expressão regular para um número de telefone padrão dos EUA que suporte os seguintes formatos: ###-###-#### (###) ###-#### ### ### #### ###.###.#### onde # significa qualquer número. Até agora eu vim com as seguintes expressões ^[1-9]\d{2}-\d{3}-\d{4} ^\(\d{3}\)\s\d{3}-\d{4} ^[1-9]\d{2}\s\d{3}\s\d{4} ^[1-9]\d{2}\.\d{3}\.\d{4} respectivamente. Não tenho certeza se o último está correto para o cheque pontilhado. […]

Combinando vários padrões

Eu quero ver, se “001” ou “100” ou “000” ocorre em uma seqüência de 4 caracteres de 0 e 1 . Por exemplo, uma cadeia de 4 caracteres pode ser como “1100” ou “0010” ou “1001” ou “1111” . Como faço para combinar muitas strings em uma string com um único comando? Eu sei grep […]

byte busca de padrão de matriz

Qualquer um sabe uma maneira boa e efetiva de pesquisar / combinar por um padrão de byte em um array byte [] e depois retornar as posições. Por exemplo byte[] pattern = new byte[] {12,3,5,76,8,0,6,125}; byte[] toBeSearched = new byte[] {23,36,43,76,125,56,34,234,12,3,5,76,8,0,6,125,234,56,211,122,22,4,7,89,76,64,12,3,5,76,8,0,6,125}

O que `: _ *` (estrela de sublinhado do cólon) faz no Scala?

Eu tenho o seguinte trecho 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 claro, exceto esta parte: child […]

Como selecionar linhas entre dois padrões?

Eu tenho um arquivo como o seguinte e gostaria de imprimir as linhas entre dois padrões determinados PAT1 e PAT2 . 1 2 PAT1 3 – first block 4 PAT2 5 6 PAT1 7 – second block PAT2 8 9 PAT1 10 – third block Eu li Como selecionar linhas entre dois padrões de marcadores […]