2013-04-08 2 views
1

리프트를 사용하여 웹 프런트를 생성합니다. 스칼라 파일에 목록이 있습니다. val testList = List("part1","part2","part3")
목록의 각 요소에 함수를 적용합니다. 지금은 그저 대담하게하고 싶습니다. HTML 코드를 변경하여 대담하게 만들 수있는 또 다른 방법이 있다는 것을 알고 있지만,이 연습의 요점은 아닙니다. .html 파일과 달리 scala 파일에서 html을 생성 할 수 있는지 확인하려고합니다. 스칼라/리프트 -지도 기능

제가

함수
def formatText(s:String)={ 
    <B> s </B> 
    } 

정의하고 난 var testList2= testList.map(formatText(_))

문제는 출력에서 ​​I 볼 모두에 bolds s s 있다는 전화. <B> 주위에 따옴표를 붙이면 문자열이 이스케이프되므로 part1 (굵게 표시됨) 대신에 < B> part1 </B>가 표시됩니다.

어떻게 그 문자열을 굵게 표시합니까? 리프트/스칼라에 s 변수와 formatText 문자가 없음을 알리는 $s이 있습니까?

+0

참고로 'testList.map (formatText (_))'대신'testList.map (formatText)'를 호출하면됩니다. – DaoWen

답변

2

는 XML-문자 "탈출"문자는 {} (추가 변수, 표현식 등을 위해) :

def formatText(s:String)= <B> {s} </B> 

은 자세한 내용은 Programming in Scala 26.3: XML Literals를 살펴 보자.

+0

그래서'{''}'사이에 넣은 모든 것은 문자열이 아닌 코드로 실행됩니다. 우수한 링크! – Adrian