The following is a Scala script that up-cases each line of an UTF8 encoded input file (args(0)
) and prints the result to standard output:
import scala.io.Source
Console.setOut(new java.io.PrintStream(Console.out,true,"UTF8"))
Source.fromFile(args(0), "UTF8").getLines.foreach(line => print(line.toUpperCase))
If you're trusting the default character encoding to work for you, you may reduce it to:
import scala.io.Source
Source.fromFile(args(0)).getLines.foreach(line => print(line.toUpperCase))
Another way to do it, is to read the lines into an iterator, using the iterator's
.map
method to upcase each line:
import scala.io.Source
val lines = Source.fromFile(args(0)).getLines.map(_.toUpperCase)
lines.foreach(print)
A Java programmer may be relieved (or horrified) to learn that Scala does not have any checked exceptions. There are only runtime exceptions, and you don't need to add any try/catch statements if you don't want to.
When you run a Scala script, you can instruct the Scala interpreter to compile the script, and use the compiled version (a jar file) if it's younger than the source-file. This gives better performance (shorter start-up, etc). You use the
savecompiled
command line argument.
No comments:
Post a Comment