2016-07-11 2 views
0

У меня есть карта prop call row, которая равна Map (string , string), теперь я хочу добавить к ней ключ ключа val к ​​карте, но по какой-то причине я получаю сбои, когда я пытаюсь do s"=HYPERLINK(\"${tmpLink}\")", которые предположительно работают, если s "= HYPERLINK (\" www.something.com \ ")"), это работает, поэтому, очевидно, что что-то не так с ${tmpLink}, но я не понимаю, почему вы можете видеть здесь, как я настроить tmpLink, который я проверил и является строкой:не удается создать строку с внутренними свойствами

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

и ошибка, я получаю:

значение $ не является членом (String, String)

кто-то знает, Что вопрос?

+1

Попробуйте избавиться от обратных косых черт и вместо этого используйте три двойных кавычки вокруг строки: «Карта (« Ссылка »-> s» "" = HYPERLINK ("$ {tmpLink}") "" ") – Dima

ответ

2

Вот проблема, с которой вы столкнулись https://issues.scala-lang.org/browse/SI-6476, по сути, escapes не работают со строковой интерполяцией.

Это печально, но в большинстве случаев вы можете использовать тройной кавычки синтаксис как работа вокруг:

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

И это будет работать.

Смежные вопросы