Scala Word Scramble
|
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
Normal Size Small Size show me how
Term | Definition |
1. abstract class Term 2. case class Var(name: String) extends Term 3. case class Fun(arg: String, body: Term) extends Term 4. case class App(f: Term, v: Term) extends Term | Case Classes. Scala suporta a noção de Case Class. Case Class são classes regulares que exportam os seus parâmetros do construtor e que fornecem um mecanismo de decomposição recursiva via pattern matching. |
1. Fun("x", Fun("y", App(Var("x"), Var("y")))) | Esta hierarquia de classe pode ser usada para representar untyped lambda calculus. Para facilitar a construção de instâncias de case class, Scala não exige que o new primitivo seja usado. Pode-se simplesmente usar o nome da classe como uma função. |
1. val x = Var("x") 2. println(x.name) | Os parâmetros do construtor das case class são tratados como valores públicos e podem ser acessados diretamente. |
1. val x1 = Var("x") 2. val x2 = Var("x") 3. val y1 = Var("y") 4. println("" + x1 + " == " + x2 + " => " + (x1 == x2)) 5. println("" + x1 + " == " + y1 + " => " + (x1 == y1)) | Para cada case class o compilador Scala gera um método equals que implementa a igualdade estrutural e um método toString iguais. |
1. Var(x) == Var(x) => true 2. Var(x) == Var(y) => false | Imprimirá |
Created by:
williamwill
Popular Computers sets