1
在Scala 2.10中存在StringContext
。有了這個,你可以做一些事情臨客此:將字符串轉換爲StringContext以評估延遲
val x = 10
val y = s"Using $x within this String."
現在是y == "Using 10 within this String."
但我想申請「S」推遲預定義的字符串。我想要做這樣的事情:
val str = "Using $x within this String."
def foo(arg: String) = {
// do stuff
val x = 11
s"$arg" // enable the arg-String to use the context
}
現在應該foo(str) == "Using 11 within this String."
是否有可能實現這樣的事情?
我想繞過例如作爲演員之間的消息。 – Themerius
你的意思是傳遞未插入的字符串並在接收演員中填充參數?這是不可能的。插值發生在編譯時,所以變量必須在字符串定義的範圍內。 – drexin
好的,這就是我想知道的。謝謝!那我最好使用一個外部的模板引擎。 – Themerius