REPL:
scala> val a = "hello\nworld"
a: String = 
hello
world
scala> val b = """hello
     | world"""
b: String = 
hello
world
scala> a == b
res0: Boolean = true
Worksheet:
val a = "hello\nworld"                        //> a  : String = hello
                                              //| world
val b = """hello
world"""                                      //> b  : String = hello
                                              //| world
a == b                                        //> res0: Boolean = true
Normal Scala code:
val a = "hello\nworld"
val b = """hello
world"""
println(a)
println(b)
println(a == b)
Output:
hello
world
hello
world
false
Why does the comparison yield true in the REPL and in the Worksheet, but false in normal Scala code?
Interesting, b appears to be one char longer than a, so I printed the Unicode values:
println(a.map(_.toInt))
println(b.map(_.toInt))
Output:
Vector(104, 101, 108, 108, 111, 10, 119, 111, 114, 108, 100)
Vector(104, 101, 108, 108, 111, 13, 10, 119, 111, 114, 108, 100)
Does that mean multi-line string literals have platform-dependent values? I use Eclipse on Windows.