2017-01-02 1 views
2

스칼라를 시작하고 질문이 있습니다. Scala에서 문자열 보간과 raw를 결합하는 방법은 무엇입니까?

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

는 지금은 \t을 탈출하지 않고 있지만 num 보간 str를 인쇄하려합니다. 이것이 가능한가? 아래에 변화의 몇 가지를 시도하지만이 문제는 내가 여기 Learning\t10Scala

+1

나는 질문을 이해 확실하지 - 왜'의 "학습 \ T는 $ {NUM} 스칼라를"' ? 보간을 "지연"시킬 수는 없으며, 문자열 생성시에만 할 수 있습니다. –

+0

@TzachZohar 당신의 예제는'\ t'을 탭 – Bala

+1

'' "" "\ t" "+"$ {num} Scala " – 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 
관련 문제