click below
click below
Normal Size Small Size show me how
PLP_SCALA
Linguagem de programação Scala
Term | Definition |
---|---|
For Comprehension | Combinações de funções higher-order, que através de recursos da linguagem Scala, permitem definir expressões e sequências: def sqrts(xs: List[double]): List[double] = for (val x <- xs; 0 <= x) yield Math.sqrt(x) Possuindo, geradores e filtros. |
Loops for in Scala | Loops for são semelhantes a comprehensions em Scala. São mapeados através de combinações envolvendo foreach e filter. Por exemplo, o loop for : for (val arg ← args) ... É mapeado da seguinte forma: args foreach (arg => …). |
List Comprehension | For Comprehensions são generalizações de list comprehensions encontrados em linguagens como Haskell. |
For comprehension com método de filtro | object ComprehensionTest1 extends Application {def even(from: Int, to: Int): List[Int]=for (j <- List.range(from, to) if j % 2 == 0) yield j Console.println(even(0, 20))} filtra todos os números ímpares para que seja avaliada apenas por números pares. |
Tipos de Dados para o For Comprehension | O poder dos for comprehensions vem do fato que não são definidos para tipos específicos de dados, podem ser construídos para qualquer tipo corrente que possa ser contextualizado nas combinações dos métodos higher-order. |
Combinações para formulação de comprehensions | For comprehensions envolvendo combinações de métodos higher-order como os métodos map flatMap e filter.A formulação do método sqrts pode ser implementada através da sequência: def sqrts(xs: List [double]): List[double] = xs filter (0 <=) map Math.sqrt |
Estrutura de um comprehension em Scala | Comprehensions têm o formato de for (enums) yield , onde enums referem-se a uma lista separada por vírgula de enumeradores |
Componentes de um Comprehension | Um comprehension possui pelo menos um gerador que introduz novas variáveis produzindo uma sequência de valores e pelo menos um filtro que condiciona a lógica por trás do comprehension. |
Método map | O método map aplica uma determinada função uniformemente a toda à sequência de elementos, obtendo uma sequência dos resultados da função. |
Método filter | O método filter, que aplica uma determinada função de predicado a todos os elementos da sequência e o resultado é a sequencia de elementos que correspondem ao predicado determinado pela função. |