con corchetes se puede especificar que es tipo genericos, [A]
Introducción a Scala y configuración del entorno de desarrollo
Introducción al curso y presentación de los objetivos
Scala en la historia
Instalando JVM, SBT y editores
Instalación de las herramientas
¡Hola, Mundo!
Fundamentos de Programación Funcional
Tipos de datos básicos
Inmutabilidad
Expresiones
Funciones
Colecciones: Secuencias, Conjuntos y Mapas
Tuplas y Objetos
La función de copy y el concepto de Lences
Conceptos básicos de Programación Funcional
Pattern Matching
Tail recursion
Agregación
Fundamentos teoricos
Funciones totales y parciales
Razonamiento inductivo
Razonamiento con tipos
Traits
Tipos genéricos
Tipos de datos algebraicos
Evaluación peresoza (Lazy)
Disyunciones: Option
Disyunciones: Either, try
Proyecto de Backend
Introducción e iniciación del proyecto
Modelo por Actores
Modelo de datos
Configuración de Slick
Controladores: Cómo obtener información de la base de datos
Controladores: Crear, actualizar y eliminar información de la base de datos
Computación paralela, asíncrona y concurrente
Serialización
Validación
Manejo de errores en el proyecto
Exportación del proyecto
Conclusiones
Clase final
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Carlos Daniel Sanchez
Aportes 5
Preguntas 1
con corchetes se puede especificar que es tipo genericos, [A]
Los trais no pueden existir por mismo, tenemos que crear un objeto para poderlo usar, ejemplo: object ejemplo entends ejemplo
El tipo Genérico podría ser un simil al Any
de TypeScript?
Un tipo genérico se comporta como un comodín. Nos permite tener certeza sobre un tipo sin saber cuán es aun.
En lenguajes sin fuertes fundamentos de programación genérica, como Go, se usa un estilo donde hay que ser específicos con los tipos. Lenguajes como Scala, se da una flexibilidad mayor, con todo lo bueno y malo que esto trae
Los tipos genéricos son especializados al momento de compilar. Es decir, que si una combinación no tiene sentido, el programa no compilará.
Scala es muy flexible de en dónde se puede definir un tipo genérico. Puede definirse a nivel de función, de clase, o de trait.
def f[A](x: A): String = s"$x"
//f: [A](x: A)String
f(23)
//res: String = 23
f(true)
//res: String = true
trait ejemplo[A,B] {
def g(x: A, f: A => B): B = f(x)
}
//defined trait ejemplo
object ejemplo extends ejemplo[Int, String]
ejemplo.g(3, f)
//res: String = 3
def f[A](x: A): String = s"$x"
#:::::::::::::::::::::::::
trait ejemplo[A,B]{
def g(x: A, f: A=> B): B = f(x)
}
object ejemplo extends ejemplo[Int, String]
ejemplo.g
ejemplo.g(3, f)
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?