scala как скопировать новый класс case с изменением всех строковых значений класса case, путем итерации или чего-то подобного? - PullRequest
0 голосов
/ 29 апреля 2020
private val replacements = Map("&" -> "&amp;", """"""" -> "&quot;", "<" -> "&lt;", ">" -> "&gt;", "'" -> " &apos;")
def escape(str: String): String = {  
  str.map(c => replacements.getOrElse(c.toString, c)).mkString
}

case class Table(length: Int, prop: String)
case class User (name: String, age: Int, posts: List[String], ex: List[Table])
val user = User("""this & that gonna be < or > so ' all " has to be changed""", 25, List("Lorem$", "Ipsum$"), List(Table(12, "smthin'g")))

хочет скопировать новый экземпляр User с примененной escape-функцией во все строковые значения, существуют разные классы case, к которым необходимо применить эти функции, case case может иметь 10-20 строковых значений

...