case-class

Obiekty Case a wyliczenia w Scali

Czy są jakieś wskazówki dotyczące najlepszych praktyk, kiedy używać klas case (lub obiektów case) zamiast rozszerzania wyliczeń w Scali? Wydają się oferować niektóre z tych samych korzyści.

Czystszy sposób aktualizacji zagnieżdżonych struktur

Say I have got following two case classes: case class Address(street: String, city: String, state: String, zipCode: Int) ca ... jeszcze brzydsze. Czy jest jakiś czystszy sposób (coś jak Clojure update-in), aby zaktualizować takie zagnieżdżone struktury?

Jakie są wady deklarowania klas przypadków Scali?

Jeśli piszesz kod, który używa wielu pięknych, niezmiennych struktur danych, klasy case wydają się być darem niebios, dając C ... dku? Jakie ograniczenia nakłada na klasę lub jej klientów? Czy są sytuacje, w których powinieneś preferować klasę nie-case?

Klasa Case do mapowania w Scali

Czy Jest jakiś dobry sposób na konwersję instancji Scali case class, np. case class MyClass(param1: String, param2: String) ... cna implementacja definiuje tylko tłumaczenie dla każdego przypadku klasy osobno, ale miło byłoby znaleźć ogólne rozwiązanie.

łatwy idiomatyczny sposób definiowania kolejności dla prostej klasy przypadków

Mam listę prostych instancji klasy Scala case i chcę je wydrukować w przewidywalnym, leksykograficznym porządku za pomocą lis ... Nie jestem zadowolony z 'hack': scala> l.map(_.toString).sorted.foreach(println) A(article,2) A(lines,7) A(words,50)

Jak przesłaniać zastosowanie w towarzyszu klasy case

Oto sytuacja. Chcę zdefiniować klasę case w taki sposób: case class A(val s: String) I chcę zdefiniować obiekt, aby upew ... nie ma innego sposobu, aby to osiągnąć? Chciałbym zostać przy Klasa case, ponieważ chcę jej używać do dopasowywania wzorców.

Scala case class inheritance

Mam wniosek oparty na Squeryl. Definiuję moje modele jako klasy przypadków, głównie dlatego, że uważam, że wygodne są metody ... e są problemy i pułapki, których powinienem być świadomy przy dziedziczeniu po klasie case? Czy to ma sens w moim przypadku?

Makra Scala: Tworzenie mapy z pól klasy w Scali

Powiedzmy, że mam wiele podobnych klas danych. Oto przykładowa klasa User, która jest zdefiniowana w następujący sposób: ca ... tworzenia wyrażenia, ale nie wiem, jak zwrócić je poprawnie w wyrażeniu. Możesz mi pokazać, jak to zrobić? Z góry dziękuję.

Mieszanie w cechę dynamicznie

Posiadanie cechy trait Persisted { def id: Long } Jak zaimplementować metodę, która akceptuje instancję dowolnej klasy ... kopię z wymieszaną cechą? Podpis metody wygląda następująco: def toPersisted[T](instance: T, id: Long): T with Persisted

Dlaczego parametr jest sprzeczny?

Próbuję użyć kowariantnego parametru typu wewnątrz cechy, aby skonstruować klasę przypadków w taki sposób: trait MyTrait[+T ... T of type U Czy ktoś mógłby wyjaśnić, dlaczego T jest w pozycji kowariantnej I zasugerować rozwiązanie tego problemu? Thx!

hashCode w klasach case w Scali

Czytałem, że Scala ' A case class construct automatycznie generuje implementację dopasowania equals i hashCode. Jak dokładnie wygląda wygenerowany kod?

Czy w Scali istnieje łatwy sposób na konwersję klasy case na krotkę?

Czy istnieje łatwy sposób na konwersję klasy case na krotkę? Mogę, oczywiście, łatwo napisać kod kotła, aby to zrobić, ale m ... je krotki mają zdefiniowaną kolejność dla nich. / Align = "left" / matematyka.Zamawianie nie działa w przypadku klas w ogóle.

Jak ominąć limit 22 pól klasy case Scala?

Klasy przypadków Scali mają limit 22 pól w konstruktorze. Chcę przekroczyć ten limit, czy istnieje sposób, aby to zrobić z dziedziczeniem lub kompozycją, która działa z klasami przypadków?

Scala 2.10 reflection, jak wyodrębnić wartości pól z klasy case

Jak mogę wyodrębnić wartości pól z klasy case w Scali używając nowego modelu odbicia w Scali 2.10? Na przykład, użycie poniżs ... } Planuję pompować je do for {field <- fields} { currentMirror.reflect(caseClass).reflectField(field).get }

Czy powinienem używać ostatecznego modyfikatora podczas deklarowania klas case?

Zgodnie z scala-wartremover Narzędzie do analizy statycznej muszę umieścić "final" przed każdą tworzoną klasą przypadków: ko ... ast tego nie powinienem (komunikat o błędzie: "redundantny ostateczny modyfikator na klasie case") Kto ma rację i dlaczego?

Dlaczego obiekty towarzyszące klasy case rozszerzają FunctionN?

Kiedy tworzysz klasę case, kompilator tworzy odpowiedni obiekt towarzyszący z kilkoma zaletami klasy case: fabryczną metodą a ... e jako FunctionN: object HasApply { def apply(a: Int) = 1 } val i = HasApply(1) // fails // HasApply: (Int => Int)

Scala case Class rozszerzenie produktu z serii

Uczę się Scali i wypróbowałem następującą formę Scala Cookbook: trait Animal trait FurryAnimal extends Animal case class Do ... z dopasowywaniem wzorów Wygooglowałem, ale nic nie znalazłem.Proszę o pomoc, aby uzyskać mi koncepcję w szczegóły. Dzięki

"dynamicznie" Tworzenie klas case z makrami

Chciałbym stworzyć makro wygenerowaną hierarchię zamkniętych klas abstrakcyjnych i case. Był przykład podobny do tego z htt ... cie potężne wygenerowanie bezpiecznego typu AST dla określonej gramatyki. Najlepiej z IDE zdolnym rozwiązać wszystkie klasy.

Używam.metoda krotkowa, gdy obiekt towarzyszący jest w klasie

Jestem w trakcie migracji z Slick do Slick 2, a w Slick 2 powinieneś użyć metody tupled podczas rzutowania na klasę case (jak ... st case class. Czy istnieje sposób na odzyskanie case class z Person zamiast object, aby można było poprawnie wywołać tupled?

Scala - jak wydrukować klasy case jak (ładnie wydrukowane) drzewo

Robię parser z Kombinatorami Scali. To jest niesamowite. Kończę z długą listą zaklinowanych klas przypadków, takich jak: Clas ... Edit: Bonus question Czy jest też sposób na pokazanie nazwy parametr..? Jak: ClassDecl(name=Complex, fields=List( ... )?