Busy. Please wait.
or

show password
Forgot Password?

Don't have an account?  Sign up 
or

Username is available taken
show password

why


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
We do not share your email address with others. It is only used to allow you to reset your password. For details read our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
Don't know
Know
remaining cards
Save
0:01
To flip the current card, click it or press the Spacebar key.  To move the current card to one of the three colored boxes, click on the box.  You may also press the UP ARROW key to move the card to the "Know" box, the DOWN ARROW key to move the card to the "Don't know" box, or the RIGHT ARROW key to move the card to the Remaining box.  You may also click on the card displayed in any of the three boxes to bring that card back to the center.

Pass complete!

"Know" box contains:
Time elapsed:
Retries:
restart all cards
share
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

Learning Scala

Learn some properties Scala Language

TermDefinition
Expressões Regulares Usa-se pipeline (|) separa alternativas, por exemplo: psicadélico|psicodélico, pode casar "psicodélico" ou "psicadélico".
Expressões Regulares Agrupamento com parênteses ((,)): psicodélico|psicadélico equivale a psic(a|o)délico.
Expressões Regulares Definição por Agrupamento: Define a quantidade de vezes que o elemento repete, por exemplo: ab*c casa com: "ac", ou "abc", ou "abbc", ou "abbbbc".
Expressões Regulares Caracteres que podem ser usados em uma expressão de quantificação: - Sinal de '+'. - Sinal de '*'. - Sinal de '?'.
Expressões Regulares Significado dos caracteres: - '*': indica 0 ou mais precedências do elemento. - '?': Indica 0 ou 1 ocorrência do elemento. - '+': Indica 1 ou mais ocorrência do elemento.
Casamento de Padrões Semelhante ao Switch Case do Java, C#, C++, Javascript, mas em cima de expressões envolvendo os construtores de alguma estrutura de dados.
Casamento de Padrões Usa-se a palavra-chave 'match' seguindo a expressão que queremos usar.
Casamento de Padrões Usando o 'match': def tamanho[T](lista::List[T]) : Int = lista match{ case Nil => 0 case h :: t => 1 + tamanho(T)}
Casamento de Padrões Operação de cabeça e cauda: x :: t casa com uma lista não vazia e associa 'x' à cabeça e 't' à cauda.
Casamento de Padrões _ :: x :: _ casa com uma lista com pelo menos dois elementos, associando x ao segundo elemento.
Casamento de Padrões • List(x,2,y) casa com uma lista de três elementos se o segundo elemento for igual a 2, e associa x ao primeiro elemento e y ao terceiro
Case Classes Exemplo de soma de 2 variáveis usando 'match': { case Number(n) => n case Sum(x, y) => x + y }
Case Classes Definição de uma classe completa, pode ser feita em uma só linha: Case class Aluno(nome: String)
Case Classes O símbolo '_ (underline)' pode ser usado para substituir qualquer variável, é chamado 'coringa': num1 match{ case Numero(1) => {...} case Numero(2) => { ...} case _ => {println("Não existe o número.")}
Case Classes Usando um padrão como lado esquerdo de um 'val': val h :: t = List(1,2,3) onde h é associado a 1, t a List(2,3).
Case Classes Uma expressão 'x' match { case p1 => x1 ... case pn => xn } primeiro avalia 'x' até obter um valor.
Case Classes Implementação de uma classe usando JAVA como intermédio: class Aluno(val nome : String){ def getNome : String = nome def == (a2 : Aluno) : Boolean = { nome.equals(as.nome) } }
Expressões Regulares Classes de caracteres: [:alnum:], [:alpha:], [:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], [:xdigit:].
Casamento de Padrões Um padrão como 'List(p1, p2, ..., pn)', casa uma lista que pode ser construída com o construtor “List” e argumentos que casem com os padrões p1, p2, ..., pn.
Casamento de Padrões Construções podem ser combinadas arbitrariamente para formar expressões aritméticas com números e operações de adição, subtração, multiplicação e divisão.
Created by: tiago.higino