Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porClemente Briseno Modificado hace 9 años
1
Scala Programming Language Martin Alejandro Melo - Programacion Funcional - UNQ
2
Guia ¿Por qué Scala?. Caracteristicas. Breve Sintaxis. Overloading. Hello World. val y var. Case Classes. Ejemplos. Ventajas Y Desventajas. Bibliografia Online. Martin Alejandro Melo - Programacion Funcional - UNQ
3
¿Por qué Scala? Martin Alejandro Melo - Programacion Funcional - UNQ
4
Caracteristicas Tipado Estatico. Funciona Sobre la JVM. Tipos Algebraicos. Pattern Matching. Funciones Anónimas. Lazy Evaluation. Currificación. Aplicación Parcial. Alto Orden. Martin Alejandro Melo - Programacion Funcional - UNQ
5
Breve Sintaxis Martin Alejandro Melo - Programacion Funcional - UNQ class MiClase(algo: Any){ def imprimir(texto: String):Unit = { println(texto) } def sumar(x: Integer, y: Integer): Integer={ return x+y }
6
Mas Sintaxis Martin Alejandro Melo - Programacion Funcional - UNQ object MiObjeto { val incrementar(x: Integer):Integer = 1+x def incrementar(x: Integer) = 1+x var quince:Integer= 15 } Funciones Anónimas: (x,y) => x+y //Recibe 2 parametros. Currificación: def sumar(x:Integer)(y:Integer) = x+y
7
Overloading Martin Alejandro Melo - Programacion Funcional - UNQ Permite escribir funciones con el mismo nombre pero que difieren en el tipo de parametros o la cantidad y/o el tipo de retorno. def sumar(x: Integer, y: Integer):Integer = { return x+y } def sumar(x: Float, z: Float):Float= { return x+z }
8
Hello World Martin Alejandro Melo - Programacion Funcional - UNQ object HelloWorld{ def main(args: Array[String]){ println(“Hello World”) }
9
Val Y Var Martin Alejandro Melo - Programacion Funcional - UNQ Val: Son variables de solo lectura. Se usa para la definición de Constantes, funciones y también para lograr transparencia referencial. Var: Son variables, que pueden cambiar de valor durante la ejecución.
10
Case Classes Martin Alejandro Melo - Programacion Funcional - UNQ Son clases que exponen sus constructores. Permiten el uso de Pattern Matching. Definicion de Case Classes: case class TipTree case class Join(ti: TipTree, td: TipTree) extends TipTree case class Tip(x: Any) extends TipTree Se instancias de la siguiente forma: Tip(“asd”) Join(Tip(33), Tip(42))
11
Ejemplos Martin Alejandro Melo - Programacion Funcional - UNQ
12
Ventajas y Desventajas Martin Alejandro Melo - Programacion Funcional - UNQ Ventajas: Overloading. Objetos. Mejor ambiente de desarrollo. Mejor manejo de memoria heap. Desventajas: Sintaxis mas compleja. No es Lazy por defecto. Curva de aprendizaje. Side Effects.
13
Bibliografia Online Sitio Oficial: www.scala-lang.comwww.scala-lang.com Documentacion: www.scala-lang.org/node/197www.scala-lang.org/node/197 Scala Reference Manuals: www.scala-lang.org/node/198www.scala-lang.org/node/198 Scala By Example: www.scala- lang.org/docu/files/ScalaByExample.pdfwww.scala- lang.org/docu/files/ScalaByExample.pdf Martin Alejandro Melo - Programacion Funcional - UNQ
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.