Именованные параметры класса scala case

Есть ли (или будет ли в ближайшей функции )в scala возможность создать класс case с именованными параметрами? Я имею в виду построить объект класса case, используя именованные параметры в конструкторе.

В моих классах кейсов много полей. Он склонен к ошибкам, имеющим конструкторы с большим количеством неименованных параметров.

Хотелось бы получить (на данный момент не рабочий пример):

case class X(x0:String, x1:Int, x2:String)
val x = X(x0="Xstring", x1=12, x2="x2String")

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

case class X(x0:String, x1:Int, x2:String)
object X {
    private nullX = X(null, null, null)
    def createX = nullX.copy _
}

val x = X.createX(x0="Xstring", x1=12, x2="x2String")

Любые подсказки?:)

РЕДАКТИРОВАТЬ: Это была ошибка в плагине intellij idea scala какой-то старой версии. Пожалуйста, больше не голосуйте против;)

5
задан pawel.panasewicz 17 December 2013 в 22:48
поделиться