3 Stimmen

Wie bindet man Daten in heredoc von scala?

val name = "mike"
val str = """Hi, {name}!"""
println(str)

Ich möchte, dass es den String ausgibt als Hi, mike! scheiterte jedoch. Wie kann man dies tun?

5voto

Moritz Punkte 14044

Scala unterstützt keine String-Interpolation. Es gibt ein Compiler-Plugin, das dies implementiert unter http://github.com/jrudolph/scala-enhanced-strings .

Ohne das Plugin können Sie Verkettungen oder Formatierungszeichenfolgen verwenden:

val str = name formatted "Hi, %s!"

oder natürlich auch

val str = "Hi, %s!".format(name)

5voto

pr1001 Punkte 21131

Eine völlig hakelige Lösung wäre die Verwendung der XML-Interpolation von Scala:

val name = "Mike"
val str = <a>Hi, {name}!</a> text

Le site text Methode gibt den String-Inhalt eines XML-Konstrukts zurück, so dass unsere Tags entfernt werden.

4voto

WestCoastProjects Punkte 52482

Ab scala >= 2.10 werden String-Interpolationen unterstützt:

val str = "Foo Bar"
str: String = Foo Bar

scala> s"Interpolating: $str"
res0: String = Interpolating: Foo Bar

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X