Scala как избежать 3 двойных кавычек - PullRequest
3 голосов
/ 08 мая 2020
val s = """ """Shom """

дает

: 1: error: ';' ожидается, но найден строковый литерал. val s = "" "" "" Shom "" "

Пытался избежать

val s = """ ""\"Shom """

результат не соответствует ожиданиям.

s: String =" "" \ "Шом"

1 Ответ

3 голосов
/ 08 мая 2020

Попробуйте использовать s строковый интерполятор

val tripleQuote = """""""""  // 9 quotes in total
s"""${tripleQuote}Shom"""
res2: String = """Shom

или даже встроить его

s"""${"""""""""}Shom"""


s"""${List.fill(3)('"').mkString}Shom"""


s"""${"\""*3}Shom"""

, который все выводит

"""Shom

потому что s Строковые интерполяторы могут принимать произвольные выражения

s"meaning is ${41 + 1}"
// res4: String = meaning is 42
...