Advertisement
mitrakov

Map diff by 3 text files

Apr 11th, 2019
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.78 KB | None | 0 0
  1. import scala.io.Source
  2. import cats.implicits._
  3.  
  4. object TranslationDiff extends App {
  5.   val ru = Source.fromFile("/home/mitrakov/buffer/ru.txt").getLines().toList
  6.   val en = Source.fromFile("/home/mitrakov/buffer/en.txt").getLines().toList
  7.   val pt = Source.fromFile("/home/mitrakov/buffer/pt.txt").getLines().toList
  8.  
  9.   val ruMap = ru.map { _.trim.split(":").toList match { case head :: tail => head -> tail.mkString("")}}
  10.   val enMap = en.map { _.trim.split(":").toList match { case head :: tail => head -> tail.mkString("")}}
  11.   val ptMap = pt.map { _.trim.split(":").toList match { case head :: tail => head -> tail.mkString("")}}
  12.  
  13.   val merged = (ruMap ++ enMap ++ ptMap).groupBy(_._1).mapValues(_.map(_._2).size)
  14.   val sorted = merged.toList.sortBy(_._2)
  15.  
  16.   sorted foreach println
  17. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement