Эта проблема связана с тем, что в интерпретаторе используются многострочные необработанные строки. Вы можете видеть, что ширина лишних пробелов в точности соответствует размеру scala>
или размеру трубы + пробелов, добавленных интерпретатором при создании новой строки, чтобы все выровнялось.
scala> val rawString = """here is some text // new line
| and now im on the next line // scala adds spaces
| and this is the thrid line, and we're done""" // to line things up
// note that the comments would be included in a raw string...
// they are here just to explain what happens
rawString: java.lang.String =
here is some text
and now im on the next line
and this is the thrid line, and we're done
// you can see that the string produced by the interpreter
// is aligned with the previous spacing, but without the pipe
Если вы напишите свой код в скрипте Scala и запустите его как scala filename.scala
, вы не получите дополнительные вкладки.
В качестве альтернативы вы можете использовать следующую конструкцию в интерпретаторе:
val rawString = """|here is some text
|and now im on the next line
|and this is the thrid line, and we're done""".stripMargin
println(rawString)
То, что делает stripMargin
, - это все, что раньше, включая символ |
в начале каждой строки в необработанной строке.
РЕДАКТИРОВАНИЕ: Это известная ошибка Scala - спасибо extempore :)
ОБНОВЛЕНИЕ: Исправлено в Магистраль . Еще раз спасибо extempore :).
Надеюсь, это поможет:)
- Flaviu Cipcigan