2017-01-02 5 views
2

Scalaを開始して質問がありました。Scalaでrawと文字列補間を組み合わせる方法は?

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

は今、私は\tをエスケープすることなく、しかしnum補間でstrを印刷しようとしています。これは可能ですか?下記のバリエーションのカップルを試みたが、彼らは質問は、私がここでLearning\t10Scala

+1

ない私は質問を理解しておくの途中でいくつかの文字列を挿入します - 'なぜか' sの「学習の\トンの$ {NUM} Scalaのを」 ?補間を「遅らせる」ことはできません。ストリングの作成時にのみ行うことができます。 –

+0

@TzachZoharあなたの例は '\ t'をタブ – Bala

+1

' '' "に置き換えます" $ "\"スカラ " – mike

答えて

0

を印刷しない方法です

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

動作しませんでした、コードの同じ量で、行うことができるものです。

回呼び出される関数を記述し、それが他の文字列

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 
関連する問題