val name = "mike" val str = """Hi, {name}!""" println(str)
Я хочу вывести str как Hi, mike!, но не удалосьКак это сделать?
Hi, mike!
Полное хакерское решение - использовать XML-интерполяцию Scala:
val name = "Mike" val str = <a>Hi, {name}!</a> text
Метод text возвращает строковое содержимое конструкции XML, поэтому наши теги удаляются.
text
Scala не поддерживает интерполяцию строк.Существует плагин компилятора, который реализует его на http://github.com/jrudolph/scala-enhanced-strings.
Без плагина вы можете использовать конкатенацию или форматирование строк:
val str = name formatted "Hi, %s!"
или, конечно,
val str = "Hi, %s!".format(name)
Начиная с scala> = 2.10 поддерживается интерполяция строк:
val str = "Foo Bar" str: String = Foo Bar scala> s"Interpolating: $str" res0: String = Interpolating: Foo Bar