scala> val shares = Map("Apple" -> 23, "MicroSoft" -> 50, "IBM" -> 17)
shares: scala.collection.immutable.Map[java.lang.String,Int]
= Map(Apple -> 23, MicroSoft -> 50, IBM -> 17)
scala> val shareholders = shares map {_._1}
shareholders: scala.collection.immutable.Iterable[java.lang.String]
= List(Apple, MicroSoft, IBM)
scala> val newShares = shares map {case(k, v) => (k, 1.5 * v)}
newShares: scala.collection.immutable.Map[java.lang.String,Double]
= Map(Apple -> 34.5, MicroSoft -> 75.0, IBM -> 25.5)
En este ejemplo, parece que el método map
está sobrecargado en el tipo de devolución. La sobrecarga en el tipo de retorno no es posible, ¿verdad? ¿Alguien podría explicar lo que está pasando aquí?¿Sobrecarga en el tipo de devolución?
Esta es la cosa más espantosa que he visto desde que empecé programación. –
Es difícil escribir este método de 'mapa', pero en general es muy fácil de usar. – retronym
@GreenHyena solo para desarrolladores de PHP :) – expert