Je jette un coup d'oeil à 20 exercices Scala intermédiaires et j'ai des difficultés avec l'exercice 4. Malheureusement, je ne trouve aucune solution affichée nulle part et je me demande si c'est vraiment soluble.
Fluffy
est manifestement une version à peine déguisée Functor
et furry
est fmap
.
trait Fluffy[F[_]] {
def furry[A, B](f: A => B, fa: F[A]): F[B]
}
object Fluffy {
// Exercise 1
// Relative Difficulty: 1
def ListFluffy: Fluffy[List] = new Fluffy[List] {
def furry[A, B](f: A => B, fa: List[A]): List[B] = fa map f
// am assuming this is the right idea...
}
// Exercise 4
// Relative Difficulty: 1
def ArrayFluffy: Fluffy[Array] = new Fluffy[Array] {
def furry[A, B](f: A => B, fa: Array[A]): Array[B] = ???
}
Le problème est que je n'arrive pas à créer une Array[B]
sans lien avec le contexte B: ClassManifest
mais si j'en ajoute un, cela rompt le contrat avec l'entreprise. Fluffy
trait.
Puisque ces questions datent de 2008, vraisemblablement avant l'époque des Manifest
Est-ce que la seule option dans Scala 2.9 est d'ignorer les exercices impliquant des tableaux, ou existe-t-il une autre solution que je ne connais pas ?