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

Классы case - это обычные классы, которые экспортируют свои параметры конструктора и предоставляют рекурсивный механизм декомпозиции через сопоставление с образцом.
16

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

Я искал в Google, чтобы найти различия между case class и class. Все упоминают, что, когда вы хотите выполнить сопоставление образцов в классе, используйте класс case. В противном случае используйте классы, а также упомяните о некоторых дополнительн...
22 февр. '10 в 17:49
14

Объекты объекта vs Перечисления в Scala

Есть ли рекомендации по лучшей практике, когда следует использовать классы case (или объекты case) и расширение Enumeration в Scala? Они, похоже, предлагают одни и те же преимущества.
14 дек. '09 в 4:33
7

Более чистый способ обновления вложенных структур

Скажем, у меня есть следующие два case class es: case class Address(street: String, city: String, state: String, zipCode: Int) case class Person(firstName: String, lastName: String, address: Address) и следующий экземпляр класса Person: val raj...
10 окт. '10 в 12:37
1

IntelliJ Scala Отступы класса корпуса плагина абсурдны

Если класс case имеет много полей и их имена длинны, часто бывает полезно написать каждое поле в каждой строке, например: case class Person ( name: String, age: Int ) Это похоже на определение C/С++ struct и полностью читается, даже когда кла...
12 нояб. '14 в 6:30
5

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

Если вы пишете код, который использует множество красивых, неизменных структур данных, классы case выглядят как находка, давая вам все следующие бесплатно только с одним ключевым словом: Все неизменное по умолчанию Получатели автоматически определ...
11 янв. '11 в 1:46
6

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

У меня есть список простых экземпляров класса case scala, и я хочу напечатать их в предсказуемом, лексикографическом порядке с помощью list.sorted, но получить "No implicit Ordering defined for...". Существует ли неявный, который обеспечивает лекси...
13 окт. '13 в 12:09
2

Конструктор перегрузки для классов Scala Case?

В Scala 2.8 есть способ перегрузить конструкторы класса case? Если да, пожалуйста, поместите фрагмент, чтобы объяснить, если нет, пожалуйста, объясните, почему?
08 мар. '10 в 11:04
10

Класс case для отображения в Scala

Есть ли хороший способ конвертировать экземпляр case class случая Scala, например case class MyClass(param1: String, param2: String) val x = MyClass("hello", "world") в какое-то отображение, например getCCParams(x) returns "param1" -> "hello", ...
04 авг. '09 в 9:40
4

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

У меня есть приложение, основанное на Squeryl. Я определяю свои модели как классы case, в основном, так как удобнее иметь методы копирования. У меня две модели, которые строго связаны друг с другом. Поля одинаковы, многие операции являются общими, и...
03 окт. '12 в 9:13
7

Как переопределить применение в компаньоне класса case

Итак, вот ситуация. Я хочу определить класс case следующим образом: case class A(val s: String) и я хочу определить объект, чтобы гарантировать, что когда я создаю экземпляры класса, значение для 's' всегда имеет верхний регистр, например: objec...
29 апр. '11 в 3:25
2

Что такое * так * неправильно с наследованием класса case?

При поиске чего-то другого, совершенно из простого совпадения, я наткнулся на несколько комментариев о том, как наследуется дьявольское наследование класса случаев. Эта вещь называлась ProductN, негодяями и королями, эльфами и волшебниками и как тер...
22 июн. '12 в 15:06
4

hashCode в классах классов в Scala

Я читал, что конструкция Scala 'a case class автоматически генерирует реализацию equals и hashCode. Как выглядит сгенерированный код?
03 мая '11 в 8:01
5

Как обойти ограничение класса case Scala из 22 полей?

Scala классы case имеют предел из 22 полей в конструкторе. Я хочу превзойти этот предел, есть ли способ сделать это с наследованием или композицией, которая работает с классами case?
28 нояб. '13 в 5:32
9

Scala - как печатать примеры классов, например (довольно печатное) дерево

Я делаю парсер с Scala Комбинаторами. Это превосходно. В конце концов, это длинный список запутанных классов case, например: ClassDecl(Complex,List(VarDecl(Real,float), VarDecl(Imag,float))), всего 100 раз. Мне было интересно, есть ли хороший способ...
30 мар. '13 в 12:27
3

В Scala существует ли простой способ преобразования класса case в кортеж?

Есть ли простой способ преобразования класса case в кортеж? Я могу, конечно, легко написать шаблонный код, чтобы сделать это, но я имею в виду без шаблона. То, что я на самом деле, - это способ легко сделать класс дела лексикографически упорядоченн...
10 нояб. '11 в 23:42