Нам нужно создать строку запроса, из класса case. Класс case содержит необязательные атрибуты:
case class Example(..., str: Option[String], ..)
Мы хотим создать параметр запроса, если опция существует, и в противном случае параметр запроса отсутствует. Как:
match example.str {
case Some(s) => s"¶m_str=$s"
case _ => ""
}
так как это появляется во многих местах, я хочу, чтобы оно стало более общим:
def option2String(optionString: Option[String], template: String) = {
optionString match {
case Some(str) => template.replaceAll("\\$str", str)
case _ => ""
}
Но я думаю, что это можно сделать более элегантно или идиоматически, например, с call-by-name arguments?