Skip to content

Instantly share code, notes, and snippets.

object OverloadSample {
implicit class B2I(f: Boolean => Int)
implicit class I2I(f: Int => Int)
def foo(func: B2I): Unit = {
println("test")
}
def withPrintWriter(file: String)(op: PrintWriter => Unit) {
val writer = new PrintWriter(file)
try op(writer)
finally writer.close
}
withPrintWriter("out.txt") { w =>
w.println("anything you want to write")
}
val scores = Array(
Array(1, 2, 3, 4, 5),
Array(1, 2, 3, 4, 5),
Array(1, 2, 3, 4, 5),
Array(1, 2, 3, 4, 5),
Array(1, 2, 3, 4, 5)
)
val bests = Array.fill(5)(Array.fill(5)(0))
~
% scala -Xshow-phases
phase name id description
---------- -- -----------
parser 1 parse source into ASTs, perform simple desugaring
namer 2 resolve names, attach symbols to named trees
packageobjects 3 load package objects
typer 4 the meat and potatoes: type the trees
patmat 5 translate match expressions
superaccessors 6 add super accessors in traits and nested classes
scala> for(i <- 0 to 5) yield { i + 1 }
[[syntax trees at end of parser]] // <console>
package $line3 {
object $read extends scala.AnyRef {
def <init>() = {
super.<init>();
()
};
object $iw extends scala.AnyRef {
def <init>() = {
println("This is what I want to say.")
Console.err.println("standard error")
Console.withOut(new PrintStream("out.txt")) {
println("anything you want to write")
Console.out.close()
}
Console.out.println("Hi. I'm stdin again!")