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.

By signing up, I agree to StudyStack's Terms of Service and Privacy Policy.


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.

Remove ads
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

Trabalho

Trabalho de LP

TermoDefiniçãoExemplo
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 () } }
Created by: GrupoMauro