Итак, вот ситуация. Я хочу определить класс case следующим образом:
case class A(val s: String)
и я хочу определить объект, чтобы при создании экземпляров класса значение 's' всегда было в верхнем регистре, например:
object A {
def apply(s: String) = new A(s.toUpperCase)
}
Однако это не работает, поскольку Scala жалуется, что метод apply (s: String) определен дважды. Я понимаю, что синтаксис класса case автоматически определит его для меня, но разве нет другого способа добиться этого? Я хотел бы придерживаться класса case, так как хочу использовать его для сопоставления с образцом.