Type mismatch error in Scala -
i blocked since yesterday type mismatch error , don't see how correct it. maybe can me it.
def combine( head : (char,int), xs : occurrences) : list[occurrences] = xs.map { case (x,i) => ( occu <- 1 head._2 ) yield list((x,i), (head._1, occu)) } here error :
type mismatch; found : list[scala.collection.immutable.indexedseq[list[(char, int)]]] required: list[forcomp.anagrams.occurrences] the type occurrences defined type occurrences = list[(char, int)]
how can fix error?
you solve problem using flatmap concatenate (flatten) lists you.
def combine( head : (char,int), xs : occurrences) : list[occurrences] = xs.flatmap { case (x,i) => (1 head._2).map(occu =>list((x,i), (head._1, occu))) } now each occurance it'll produce list has (x,i) tuple , (head._1, occu) tuple , of lists ++'d flatmap.
note i'm blindly converting code since know homework won't attempt analyze if algorithm correct.
Comments
Post a Comment