Мне предоставлена библиотека с функцией компоновщика, использующей параметры по умолчанию / именованные. Что-то вроде
def builder = new {
def apply(
a:Int = 0,
b:Int = 0,
c:Int = 0):String = {
"a="+a+", b="+b+", c="+c
}
}
Мне нужно использовать Mapped Collection параметров (параметры HTTP-запроса) и правильно вызывать конструктор. Я могу грубо заставить его повторять код, но для этого должен быть лучший «функциональный» способ. Ниже моя довольно неудачная попытка. Как вы можете видеть, он переопределяет стандартные параметры строителя. Пожалуйста, покажи мне свет!
val inParams = Map("a" -> 1, "b" -> 2, "c" -> 3) //3 params passed in
builder(
in.get("a").getOrElse(0),
in.get("b").getOrElse(0),
in.get("c").getOrElse(0)
)
val inParams = Map("a" -> 1, "c" -> 3) //2 params, out of sequence
builder(
in.get("a").getOrElse(0),
in.get("b").getOrElse(0),
in.get("c").getOrElse(0)
)