println vs System.out.println в Scala

Я всегда думал, что Predef.println был всего лишь ярлыком для System.out.println, но, видимо, я ошибаюсь, так как он, кажется, вообще не использует System.out. Почему это так? И как я могу сделать "перенаправление" System.out ниже в Scala?

scala> val baos = new java.io.ByteArrayOutputStream
baos: java.io.ByteArrayOutputStream = 

scala> val ps = new java.io.PrintStream(baos)
ps: java.io.PrintStream = java.io.PrintStream@6c5ac4

scala> System.setOut(ps)

scala> println("hello")
hello

scala> new String(baos.toByteArray)
res2: java.lang.String = ""

scala> System.out.println("hello")

scala> new String(baos.toByteArray)
res7: java.lang.String = 
"hello
"
45
задан blambert 22 June 2017 в 05:26
поделиться