3

私は20 Intermediate Scala Exercisesを見ていますが、演習 4 に問題があります。

Fluffy明らかに薄仮装Functorfurryある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] = ???
  }

問題はArray[B]、コンテキストをバインドせずに を作成できないことですが、追加すると、特性B: ClassManifestとの契約が破られます。Fluffy

これらの質問は 2008 年のものであるため、おそらく .NET の時代の前に、ManifestScala 2.9 で配列を含む演習を無視する唯一のオプションですか、それとも私が見落としている他の方法がありますか?

4

1 に答える 1

2

thisによると、scala 2.8以降は解決できません

于 2012-10-19T06:10:37.480 に答える