2017-01-02 66 views
2

剛剛起步斯卡拉,並有一個問題。如何在Scala中將raw與字符串插值結合起來?

val num = 10 
val str = "Learning\t${num}Scala" 

現在我試圖打印str沒有逃脫\tnum插值。這可能嗎?嘗試下面幾個變化,但他們沒有工作

scala>s"${str}" 
scala>s"""${str}""" 
scala>raw"""${str}""" 

的問題是如何打印Learning\t10Scala

+1

不知道我理解這個問題 - 爲什麼不單曲「學習\ T $ {NUM}斯卡拉」' ?您不能「延遲」插值,它只能在創建字符串時完成。 –

+0

@TzachZohar您的示例將用標籤替換'\ t' – Bala

+1

''「」Learning \ t「」「+ s」$ {num} Scala「' – mike

回答

0

下面是一些可以做的,用同量的代碼。

寫函數調用次,並使其插入一些串的其他字符串中間

scala> def times(n: Int)(str: String): String = List.fill(n)(str).mkString("") 
times: (n: Int)String 

scala> s"""hello${times(3)("\t")}world""" 
res0: String = hello   world 
相關問題