なぜ折り畳みがコンパイルされないのかわかりません。誰かが私に手がかりを与えることができますか?Scala:一般的な折り畳みの実装
sealed trait ListG[A] {
def fold[A,B](end: B, f: (A,B) => B): B = this match {
case End() => end
case Cons(hd,tl) => f(hd, tl.fold(end,f))
}
}
エラー:(20,28)タイプの不一致。 が見つかりました:hd.type(基底型A) が必要です: ケース(hd、tl)=> f(hd、tl.fold(end、f)) ^ 最終ケースクラスEndA extends ListG [A ] 最後のケースクラス短所[A](HD:A、TL:ListGは、[A])を拡張ListG [A]
コードとともにエラーメッセージを投稿する –