2016-10-09 5 views
3

Я хочу сделать именно то, что делает шаблон строки java, но в scala. Эта библиотека, однако, не работает с тематическими классами:Scala - runtime String template

case class Obj(str:String) 
val st = new ST("xx $obj.str$ xx",'$','$') 
st.add("obj",Obj("replacement")) 
st.render() //returns "xx xx" 

ST пытается найти свойство «ул» с отражением, но он просто не работает с Скале.

Как я могу достичь этого без ST?

+0

Что делает «String Template»? – pedrofurla

ответ

-1

Он встроен в язык (расширяемым способом). Просто

val obj = Obj("replacement") 
s"xx ${obj.str} xx" 

Вы можете иметь любое выражение Scala в ${...}.

См. http://docs.scala-lang.org/overviews/core/string-interpolation.html (или просто найдите «интерполяцию строк Scala») для получения дополнительной информации.