Supongamos que tiene una Lista (1, "1") que está tipeada Lista [Cualquiera], que es por supuesto correcta y esperada. Ahora si mapeo la lista como estaTipo de colección de Scala para filtro
scala> List(1, "1") map {
| case x: Int => x
| case y: String => y.toInt
| }
el tipo resultante es la Lista [Int] que se espera también. Mi pregunta es si existe un mapa equivalente para filtro porque el siguiente ejemplo dará como resultado una lista [Cualquiera]. es posible? Supongo que esto podría resolverse en tiempo de compilación y posiblemente no en tiempo de ejecución.
scala> List(1, "1") filter {
| case x: Int => true
| case _ => false
| }
¿Por qué es esto solo posible con un guardia? –
Disculpa, fue un comentario realmente estúpido. Pero ¿por qué filter() no genera un resultado como partialMap? –
@Joa 'filter' no cambia el tipo de una colección, porque no modifica sus elementos. –