0
私はCourseraのScalaコースに取り組んでおり、抽象クラスにいくつかの問題があります。ここでは、CodeTree抽象クラスのケースクラスのフィールドにアクセスしようとしていますが、コンパイラはこれらのフィールドがCodeTreeクラス自体に属していないと不平を言っています。私はパターンマッチングはそれを処理すると思うだろうが、明らかにそうではない。どんな助け?スカラ抽象クラス
abstract class CodeTree
case class Fork(left: CodeTree, right: CodeTree, chars: List[Char], weight: Int) extends CodeTree
case class Leaf(char: Char, weight: Int) extends CodeTree
def weight(tree: CodeTree): Int = tree match {
case Leaf(_, weight) => tree.weight
case Fork(left, right, _, _) => weight(tree.left) + weight(tree.right)
}
素晴らしいです。ありがとう。 – dsaxton
私はいくつかのリンクと何が起こっているのかの少しの説明を追加しました。私はScalaが最初は奇妙なことがあることを知っています。 :) –