0
Scala Courseraコースで関数型プログラミングを行っています。私は木をコーディングするハフマンについての演習に取り組んでいます。スカラコンストラクタを使用してマップする方法
はここハフマン木
sealed 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
を表すコードだと、我々はそれがList[(Char,Int)]
をとる関数を実装するはずだと私のコードここList[Leaf]
を返します:
def makeOrderedLeafList(freqs: List[(Char, Int)]): List[Leaf] = freqs.map(
(c, i) => Leaf(c, i)
)
をしかし、私はこのエラーが発生している
このコードで何が問題なのですか?あなたは、あなたが一致するタプルケースを提供する必要が反復としてそれらを解凍したい場合は、タプルのリストをマッピングしているので
def makeOrderedLeafList(freqs: List[(Char, Int)]): List[Leaf] = freqs.map {
case (c, i) => Leaf(c, i)
}
: