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

Использование классов Scala Case в качестве карт де-факто
Это больше вопрос дизайна, чем что-либо еще... Мне очень нравятся кейс-классы Scala, и я часто их использую. Однако я обнаружил, что часто включаю свои параметры в Options (или, скорее, Boxes в Lift) и устанавливаю значения по умолчанию, чтобы...
810 просмотров
schedule 30.05.2022

Scala: порядок определения сопутствующего объекта и класса case
В Scala 2.9.1 я получаю следующее поведение: class Foo { case class X() object X // this compiles def bar() { object Y // this compiles case class Y() case class Z() object Z // won't...
2140 просмотров
schedule 11.10.2023

Что *так* не так с наследованием класса case?
В поисках чего-то другого, совершенно случайно, я наткнулся на несколько комментариев о том, насколько дьявольским является наследование case-классов. Там была штука под названием ProductN , негодяи и короли, эльфы и волшебники, и как какое-то...
13583 просмотров
schedule 30.12.2023

В общем случае переписываем кейс-классы Scala.
Можно ли вообще заменить аргументы в классе case? Более конкретно, скажем, мне нужна функция-заменитель, которая получает класс прецедентов «найти» и класс прецедентов «заменить» (например, левую и правую части грамматического правила), а также...
1091 просмотров
schedule 17.01.2024

Макросы Scala: создание карты из полей класса в Scala
Допустим, у меня много похожих классов данных. Вот пример класса User , который определяется следующим образом: case class User (name: String, age: Int, posts: List[String]) { val numPosts: Int = posts.length ... def foo = "bar" ......
9472 просмотров
schedule 03.02.2024

Как сопоставить несколько классов case и извлечь одинаковые (именованные) аргументы?
Рассмотрим следующий надуманный пример реализации унарных и бинарных операций над выражениями вещественных чисел. abstract class DoubleE case class Negate(x: DoubleE) extends DoubleE case class Reciprocal(x: DoubleE) extends DoubleE case class...
1816 просмотров

Тест кейс-классов Scala
Я определяю запечатанную форму признака с классом case Point и LineSegment и имею поведение для класса LineSegment, которое сообщает мне, пересекаются ли два LineSegment, однако, когда я пытаюсь проверить это поведение... он говорит, что не может...
873 просмотров
schedule 21.11.2022

Ошибка при синтаксическом анализе json в класс scala case
В моем веб-приложении spring (mvc) я использую org.codehaus.jackson.map.ObjectMapper в своем коде scala для сопоставления моего json с объектами scala с использованием классов case. Моя строка Json представляет собой массив объектов объектов json....
541 просмотров
schedule 20.04.2022

Какие методы генерируются для кейс-классов Scala?
Какие методы генерируются для кейс-классов Scala? Я знаю, что некоторые методы генерируются специально для case-классов: равно canEqual Какие другие? Кроме того, я вижу, что могу вызывать productArity() для любого класса case. Как...
2457 просмотров
schedule 28.12.2022

Разве (на самом деле) плохо использовать case-классы для изменяемого состояния?
Рассмотрим следующий код: case class Vector3(var x: Float, var y: Float, var z: Float) { def add(v: Vector3): Unit = { this.x += v.x this.y += v.y this.z += v.z } } Как видите, case class имеет изменяемое состояние....
1029 просмотров
schedule 19.07.2023

значение параметра класса case не является членом Serializable
Я пытаюсь создать валидатор для структуры Json, и на данный момент у меня уже есть что-то вроде следующего: Читает определения case class SubTaskConfigElement(name: String) case class MultiSelectConfig(subTasks: Seq[SubTaskConfigElement])...
417 просмотров

Метод копирования класса case отсутствует
У меня возникли проблемы с пониманием того, почему метод copy не создается/не подбирается в случае класса TestCaseClassStore . abstract class IdStore { self => type Entity type Ref <: IdRef[_] type Self <: IdStore {type Entity...
729 просмотров
schedule 26.03.2023

В чем разница между шаблоном конструктора и шаблоном привязки переменных в выражении сопоставления scala?
В Scala я пытаюсь понять сопоставление с образцом, однако большинство шаблонов говорят сами за себя, но шаблон конструктора и шаблон привязки переменных кажутся мне запутанными. Я попробовал следующий пример из Programming Scala, 2ed case class...
306 просмотров
schedule 20.07.2022

Как разделить строку запятыми (,), но игнорировать запятые внутри двойных кавычек (,)
У меня есть строка текстового файла с форматом ниже: "1","1st",1,"Allen, Miss Elisabeth Walton",29.0000,"Southampton","St Louis, MO","B-5","24160 L221","2","female" Я хочу разделить строку на запятые (,), но игнорировать запятые (,) внутри...
2366 просмотров
schedule 29.12.2022

композиция над наследованием в scala
Я создал код, который фактически использует наследование Любой другой альтернативный способ сделать это, если я хочу использовать для этого композицию case class Test(message:msg) abstract class MsgValuetype(value: myString) { override...
634 просмотров
schedule 27.04.2024

Передать непримененный класс случая в функцию
У меня есть класс case с двумя полями и функцией, которая принимает одни и те же аргументы. Есть ли способ передать содержимое класса case этой функции без явного указания всех полей или безобразного неприменения? case class User(name: String,...
86 просмотров
schedule 05.12.2022

Понимание последствий Scala
Читая Функциональное программирование на Scala Кьюзано и Бьярнасон, я обнаружил следующий код в главе 9, Комбинаторы синтаксического анализатора: trait Parsers[ParseError, Parser[+_]] { self => ... def or[A](s1: Parser[A], s2: Parser[A]):...
119 просмотров

Scala — сопоставление шаблонов строк Spark sql в структуре
Я пытаюсь выполнить сопоставление шаблонов внутри функции карты Dataframe - сопоставление строки с шаблоном строки, имеющим вложенный класс Case. Этот кадр данных является результатом объединения и имеет схему, показанную ниже. Он имеет несколько...
3431 просмотров

Возвращает case-класс, который расширяет трейт
Мне нужно определить, чтобы возвращать класс case, который расширяет черту: trait Id { def id: Long } case class Person(name: String) val john = Person("John") val johnWithId: Person with Id = /*person -> 123L*/ ??? Любая идея, как я...
580 просмотров
schedule 15.02.2024

Как я могу загрузить свой файл YAML в класс case?
У меня есть приложение Scala, которому нужно прочитать файл Yaml и загрузить его в класс case Scala. Я использую змею для выполнения этой работы, но кажется, что функция загрузки не может использовать конструктор моего класса case. Ниже приведен...
2028 просмотров
schedule 29.05.2024