Scala: Read file from IO and line by line match it construct a case class and add the case class to a List -


i have been trying learn scala in free time , learn write code in more functional manner; anyways have hit problem trying write (what thought) simple tool reading formatted name data out of file , creating list of data containing case classes... not work however:

object namedatautil {    /**    * reads data file containing formatted name data list containing case classes.    *    * @param filename name of file (with extension) read data from.    * @return list of case classes containing data specified file.    */   def readinfile(filename: string): list[namedatum] = {    val names: list[namedatum] = source.fromurl(getclass.getresource("/"+filename)).getlines() foreach { line =>     line.trim.split("\\s+")     match {       case array(name,freq,cumfreq,rank) => namedatum(name, freq.todouble, cumfreq.todouble, rank.toint)     }   }    names   } } 

any appreciated. thanks!

replace foreach map , you'll iterator[namedatum]. add tolist after getlines() list[namedatum] instead, though it's better use tostream , work stream[namedatum] instead, if expect file big fit in memory.


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -