Как проверить аргументы конструктора класса case? - PullRequest
6 голосов
/ 10 сентября 2010

Я хотел бы проверить аргументы моего конструктора класса case и выдать исключение, если они не пройдут определенные тесты. Компилятор жаловался, когда я пытался написать свой собственный метод apply (несколько методов apply).

Полагаю, я мог бы сделать это классом, не относящимся к регистру, и сам выполнить поле конструктора apply / unapply, но я надеялся, что нет.

Спасибо

1 Ответ

19 голосов
/ 10 сентября 2010
case class Picky(i: Int, s: String) {
  require(i % 2 == 0, "i must be even")
  require(s.length < 50, "s length must be less than 50 characters")

  // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...