2016-07-11 2 views
0

Map (string , string) 인지도 소환 전화가 있습니다. 이제지도에 링크 키 값을 추가하는 것이지만, 시도 할 때 실패하는 이유가 있습니다. "# HYPERLINK (\"www.something.com \ ")") 작동하지만, 분명히 거기에 뭔가가 잘못 ${tmpLink}와 함께 작동하지만, 내가 왜 이해가 안되는 이유는 작동하는지 생각해보십시오 s"=HYPERLINK(\"${tmpLink}\")", 여기 볼 수 있습니다. 내가 확인하고 문자열입니다 tmpLink 설정 :내부 속성이있는 문자열을 만들지 못했습니다.

val tmpLink = s"https://bla.com/${invID.replaceAll("[\"=]", "")}" 
       row ++ Map("Link" -> s"=HYPERLINK(\"${tmpLink}\")") 

와 내가 오류 것은 :

값 $은 (문자열, 문자열)의 구성원이 아닙니다.

누군가가 무슨 문제인지 압니까?

+1

대신에 백 슬래시를 없애고 대신 문자열 주위에 세 개의 큰 따옴표를 사용하여보십시오. Map ("Link"-> s "" "= HYPERLINK ("$ {tmpLink} ")" "")' – Dima

답변

2

여기에 https://issues.scala-lang.org/browse/SI-6476이라는 문제가 있습니다. 본질적으로 이스케이프는 문자열 보간에서 작동하지 않습니다.

그것은 불행한 일이지만 대부분의 경우 당신은 주위의 작품으로 트리플 인용 구문을 사용할 수 있습니다 :

s"""=HYPERLINK("${tmpLink}")""" 

그리고 그것은 작동합니다.

관련 문제