Вопросы с тегом «case-class»

440
В чем разница между классом дел Скалы и классом?

Я искал в Google, чтобы найти различия между а case classи а class. Все упоминают, что когда вы хотите выполнить сопоставление с образцом в классе, используйте case case. В противном случае используйте классы, а также упомяните некоторые дополнительные привилегии, такие как equals и переопределение...

139
Отступы класса case в плагине IntelliJ Scala абсурдны

Когда класс case имеет много полей и их имена длинные, часто рекомендуется записывать каждое поле в каждой строке, например: case class Person ( name: String, age: Int ) Это похоже на определение C / C ++ structи полностью читается, даже когда класс case становится больше. Но плагин Scala по...

110
Простой идиоматический способ определения порядка для простого класса case

У меня есть список простых экземпляров класса case scala, и я хочу напечатать их в предсказуемом, лексикографическом порядке, используя list.sorted, но получаю сообщение «Неявный порядок определен для ...». Существует ли неявный, обеспечивающий лексикографический порядок для классов case? Есть ли...

105
Каковы недостатки объявления классов случаев Scala?

Если вы пишете код, в котором используется множество красивых, неизменяемых структур данных, классы case кажутся находкой, предоставляя вам все следующее бесплатно с помощью всего одного ключевого слова: По умолчанию все неизменяемо Геттеры определяются автоматически Достойная реализация toString...

89
Наследование класса case в Scala

У меня есть приложение на базе Squeryl. Я определяю свои модели как классы case, в основном потому, что мне удобно иметь методы копирования. У меня есть две модели, которые строго связаны. Поля совпадают, многие операции являются общими, и они должны храниться в одной таблице БД. Но есть...

84
Как переопределить применение в случае класса companion

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