интерполяция строки скалы для "$" - PullRequest
5 голосов
/ 09 октября 2019

Почему интерполяция строк не работает, когда имя значения '$'?

В следующем коде почему значение $ не печатается? В чем ошибка, когда значение x печатается с использованием строковой интерполяции?

repl> val x="test value"
repl> val $="some value"
repl> println($)
some value
repl> println(s"value:$x")
value:test value
repl> println(s"value:$$")
value:$

Почему $ не заменяется его значением?

1 Ответ

10 голосов
/ 09 октября 2019

Чтобы вывести значение переменной, представленной $, вы должны заключить ее в фигурные скобки:

println(s"value:${$}")

выводит:

value:some value

Удвоение знака $не работает, потому что он используется для экранирования самого $, как объяснено здесь .

...