Trabalho de LP
Quiz yourself by thinking what should be in
each of the black spaces below before clicking
on it to display the answer.
Help!
|
|
|
||||||
---|---|---|---|---|---|---|---|---|
Paradigma Funcional | Funções tratadas como valor | def whileLoop(condition: => Boolean)(command: => Unit) { if (condition) { command; whileLoop(condition)(command) } else () }
🗑
|
||||||
Tipagem Estática | Variaveis definidas em tempo de compilação | val i = 1 var j : Int = 1
🗑
|
||||||
Objeto | Tipos abstratos de dados. | abstract class Animal { def breathe : Unit; } class Dog extends Animal { def breathe { println("Dogs breath!"); } }
🗑
|
||||||
Linguagem Interpretada | Liguagem que é executada em um programa de computador especifico, denominado interpretador. | JVM - Java Virtual Machine
🗑
|
||||||
Tipo VOID | Metodo VOID é um metodo que não retorna valor algum, em scala não existe a implementação deste tipo, quando não recebe um valor explicito o compilador retorna um tipo Unit | scala> def imprime = print("Hello!") imprime: Unit
🗑
|
||||||
Programação Imperativa | Scala é utilizada principalmente como linguagem funcional mas é uma linguagem multiparadigma, logo, oferece mais de um tipo como o tipo imperativo. | var contador = 0; val filename = "/usr/share/dict/words" val origemDados = Source.fromFile(filename) for (linha <- origemDados.getLines() ) { contador = contador + 1;} println("Temos " + contador + " palavras no dicionário em " + filename)
🗑
|
||||||
Funções anônimas | Funções sem nome definido. No exemplo o "(x:Int) => x" é a função anônima dentro da função somaEntreComF | scala> somaEntreComF(1, 10, (x: Int) => x)
🗑
|
||||||
Classes em Scala | As classes em Scala são semelhantes com a do Java, com a diferença que as classes em Scala podem ter parâmetro | class Complex(real: Double, imaginary: Double) { def re() = real def im() = imaginary }
🗑
|
||||||
Métodos sem argumentos | Chamada de um metodo sem a necessidade dos parênteses para demonstrar que não existe metodo. | class Complex(real: Double, imaginary: Double) { def re = real def im = imaginary }
🗑
|
||||||
Generalização | É a habilidade de escrever código parametrizado por tipos, no exemplo a classe é parametrizada por um tipo denominado por a que será definido pelo seu elemento. | class Reference[a] { private var contents: a = _ def set(value: a) { contents = value } def get: a = contents }
🗑
|
||||||
Tuplas | Gera estruturas de dados simples limitadas por parênteses, no exemplo para acessá-lo utilizasse _N, N é a posição na tupla | val tupla = ("um","dois","tres") tupla._3
🗑
|
||||||
Função como objeto | Funções também são objetos em Scala. Isso possibilita passar funções como argumentos e outras funcionalidades interessantes | object Timer {
def oncePerSecond(callback: () => unit) {
while (true) { callback(); Thread sleep 1000 }
}
def timeFlies() {
println("o tempo corre como um raio...")
}
def main(args: Array[String]) {
oncePerSecond(timeFlies)
}
}
🗑
|
||||||
Lista | Listas são estruturas flexíveis onde a cada novo elemento inserido na estrutura é alocado um espaço de memória para que seja processado seu armazenamento. | var listaString = List("palavra", "outra", "mais uma")
var listaInt = List(3, 4, 2, 7)
var listaDouble = List(3.5, 2, 6.7)
🗑
|
||||||
Inferência de tipos | Permite que o compilador determine o tipo de uma variável quando isto é óbvio na declaração da mesma, ou seja, permite que a declaração de tipos seja em tempo de execução. | var i = 10
var a : int = 10
🗑
|
||||||
Avaliação Tardia | Scala permite que a avaliação tardia seja usada quando desejada. Para ativar a avaliação retardada devemos adicionar a palavra-chave lazy à definição dos valores. | lazy val conexaoBancoDados = DB.forConnection(testandoConexao())
🗑
|
||||||
Importando código Java | Em Scala, usamos o comando import para trazer módulos externos ao escopo do atual programa. | import java.io._
🗑
|
||||||
Construtores | Em Scala, construtores são basicamente trechos de código soltos dentro de classes. Ao instanciar classes, aquele código deve ser executado. | class Automovel(modelo: String) {
println("Fui instanciado. Sou um carro modelo " + modelo + "\n")
}
object ScalaTutorialLiterati {
def main(args: Array[String]) = {
val fusca = new Automovel("Fusquinha Itamar Franco")
}
}
🗑
|
||||||
Array | Scala proporciona uma estrutura de dados, um array, que armazena um conjunto sequencial de tamanho fixo de elementos do mesmo tipo. | var z: Array [String] = new Array [String] (3)
ou
var z = new Array [String] (3)
🗑
|
||||||
Leitura de Arquivos | Leitura de arquivos é realmente simples. Você pode usar a classe Fonte da Scala e seu objeto companheiro para ler arquivos | importar scala.io.Source
objeto Test {
def main (args: Array [String]) {
println ("Segue-se o teor de ler:")
Source.fromFile ("teste.txt"). {Foreach
imprimir
}
}
}
🗑
|
||||||
Gravar dados em arquivos | Scala está aberto a fazer uso de quaisquer objetos Java e java.io.File é um dos objetos que podem ser usadas na programação Scala para ler e gravar arquivos. | java.io._ importação
objeto Test {
def main (args: Array [String]) {
val writer = new PrintWriter (new File ("teste.txt"))
writer.write ("Olá Scala")
writer.close ()
}
}
🗑
|
Review the information in the table. When you are ready to quiz yourself you can hide individual columns or the entire table. Then you can click on the empty cells to reveal the answer. Try to recall what will be displayed before clicking the empty cell.
To hide a column, click on the column name.
To hide the entire table, click on the "Hide All" button.
You may also shuffle the rows of the table by clicking on the "Shuffle" button.
Or sort by any of the columns using the down arrow next to any column heading.
If you know all the data on any row, you can temporarily remove it by tapping the trash can to the right of the row.
To hide a column, click on the column name.
To hide the entire table, click on the "Hide All" button.
You may also shuffle the rows of the table by clicking on the "Shuffle" button.
Or sort by any of the columns using the down arrow next to any column heading.
If you know all the data on any row, you can temporarily remove it by tapping the trash can to the right of the row.
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
Created by:
GrupoMauro
Popular Math sets