click below
click below
Normal Size Small Size show me how
Scala
Aprendendo a linguagem Scala
Question | Answer |
---|---|
Funções Anônimas | object TimerAnonymous { def oncePerSecond(callback: () => Unit) { while(true){ callback(); Thread sleep 1000 } } def main(args: Array[String]){ oncePerSecond(() => println("O tempo voa como uma flecha a cada segundo.")) } |
Tipagem estática | val i = 1 var j : Int = 1 |
Mixins | traço RichIterator estende AbsIterator { def foreach (f: T => Unit) { enquanto (hasNext) f (próximo)} } |
Métodos sem Argumento | object ComplexNubers{ def main(args: Array[String]){ val c = new Complex(1.2, 3.4) println("imaginary part: " + c.im()) } } class Complex(real: Double, imaginary: Double) { def re = real def im = imaginary } |
Contexto de String | val name = "James" println(s"Hello, $name") // Hello, James |
Exceção | class Reader(fname: String) { private val in = new BufferedReader(new FileReader(fname)) @throws[IOException]("if the file doesn't exist") def read() = in.read() } |
Parâmetro por nome | (x: => Int) |
Parâmetro por valor | (x: Int) |
Filtro | for(i <- 1 to 10; if i % 2 == 0), o filtro é “if i % 2 == 0” |
Loop | for (i <- 0 until 100) println(i) //imprime os números 0 até 99 |
Função Literal | (x: Int, y: Int) => x + y |
Array | var z:Array[String] = new Array[String](3) ou var z = new Array[String](3) |
Definição de Funções | def nomeFunção ([lista de parâmetros]) : [tipo de retorno] = { corpo da função return [expr] } |