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

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

13 Días
6 Hrs
3 Min
55 Seg
Curso de Scala básico

Curso de Scala básico

Carlos Daniel Sanchez

Carlos Daniel Sanchez

Tipos genéricos

20/36
Recursos

Aportes 5

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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?

Tipos genéricos

¿Qué son?

Un tipo genérico se comporta como un comodín. Nos permite tener certeza sobre un tipo sin saber cuán es aun.

Específico vs. Genérico

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

En tiempo de compilación

Los tipos genéricos son especializados al momento de compilar. Es decir, que si una combinación no tiene sentido, el programa no compilará.

¿Dónde puede aplicarse?

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)