Here is the best article I found to understand what is foldLeft. And here is an example on how to replace foreach with foldLeft:
class KbdKey() {
def generateQuartets(): ListSet[Quartet] = {...}
}
class KbdMatrix() {
var ts_keys = new TreeSet[KbdKey]()
var l_quartets = ListSet.empty[Quartet];
ts_keys.foreach(l_quartets ++= _.generateQuartets())
// 2 lines above can be replaced by the line below
val l_quartets = ts_keys.tail.foldLeft(ts_keys.head.generateQuartets)(_ ++ _.generateQuartets)
}
Aucun commentaire:
Enregistrer un commentaire