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

Scala не будет соответствовать шаблону с java.lang.String и классом Case
Здравствуйте, уважаемые программисты на Scala. Я работаю со Scala уже несколько месяцев, однако у меня есть проблема с некоторыми действительно базовыми вещами, я надеюсь, что вы поможете мне с этим. case class PersonClass(name: String, age:...
12415 просмотров
schedule 27.11.2023

Сопоставление классов case в scala: ~(a,b) match{case a~b=›}
У меня есть класс дела case class ~[a,b](_1:a, _2:b) Когда я хочу сопоставить шаблоны new ~("a", 25) match{ case "a" ~ 25 => } Я могу использовать его таким образом, потому что "a" ~ 25 и ~("a", 25) эквивалентны. Но если я...
557 просмотров
schedule 26.10.2022

case класс и черты
Я хочу создать специальный калькулятор. Я думаю, что case class - хорошая идея для операций: sealed class Expr case class add(op1:Int, op2:Int) extends Expr case class sub(op1:Int, op2:Int) extends Expr case class mul(op1:Int, op2:Int) extends...
5809 просмотров
schedule 29.12.2022

Проблема с параметризованным классом случая ограниченного типа и аргументами по умолчанию в Scala
Рассмотрим следующее (проверено на Scala 2.8.1 и 2.9.0): trait Animal class Dog extends Animal case class AnimalsList[A <: Animal](list:List[A] = List()) case class AnimalsMap[A <: Animal](map:Map[String,A] = Map()) val dogList =...
7332 просмотров
schedule 07.08.2022

Разница между самодельным экстрактором и экстрактором корпусного класса
Согласно спецификации scala, экстрактор, созданный классами case, выглядит следующим образом (спецификация scala §5.3.2): def unapply[tps](x: c[tps]) = if (x eq null) scala.None else scala.Some(x.xs11, ..., x.xs1k) По причинам реализации...
531 просмотров
schedule 14.10.2022

Классы case, сопоставление с образцом и каррированные конструкторы в Scala
Кажется, они не очень хорошо сочетаются: abstract class A case class B (var a: Int)(var b: String) extends A case class C extends A Не будет работать следующее: B(1)("1") match { case B(a)(b) => print("B") case C() =>...
3722 просмотров

Конфликт имени параметра класса дочернего случая Scala с именем параметра родительского класса случая
Предположим, у нас есть два следующих класса: abstract case class MyParent(param: Int) { // ... } case class MyChild(param: Int) extends MyParent(param: Int) { // ... ^^^^^ ^^^^^ } Создание обоих классов...
761 просмотров
schedule 06.05.2023

Класс случая и линеаризация признаков
Предположим, что я хочу написать класс case Stepper следующим образом: case class Stepper(step: Int) {def apply(x: Int) = x + step} Он поставляется с хорошей toString реализацией: scala> Stepper(42).toString res0: String =...
398 просмотров
schedule 13.07.2023

Scala: есть ли у родительского класса способ доступа к методам, определенным только дочерними элементами?
У меня есть два класса case, которые наследуются от абстрактного базового класса. Я хочу определить некоторые методы абстрактного базового класса, которые используют методы копирования наследующих классов case (и, таким образом, возвращают экземпляр...
1871 просмотров
schedule 08.03.2022

По-видимому, ложная ошибка не принимает аргументы с конструктором класса case
У меня есть класс case с несколькими параметрами для его конструктора, и я определяю сопутствующий объект класса, который определяет альтернативный конструктор, который принимает другой набор аргументов, например: case class MyClass (c: Char, mc:...
4011 просмотров
schedule 25.01.2023

Утверждение классов case в ScalaTest
Я вижу, что есть поддержка типа Option, но как насчет пользовательских классов case? Я как бы хочу сделать это: result match { case SuccessCase(values) => { values.foo should be ("bar") } case FailureCase => // should fail test,...
2851 просмотров

Сопоставление шаблонов печати утки Scala
У меня есть класс case, подобный следующему: // parent class sealed abstract class Exp() // the case classes I want to match have compatible constructors case class A (a : Exp, b : Exp) extends Exp case class B (a : Exp, b : Exp) extends Exp case...
591 просмотров
schedule 24.06.2023

Получение частичных конструкторов для case-классов бесплатно
Рассмотрим абстрактный класс, определяющий два свойства abstract class A { def a: Int def b: Int // real A has additional members } который является базовым классом для различных классов случаев, таких как case class Foo(a: Int, b:...
3776 просмотров

построить класс case из набора параметров
Дано: case class Thing(a:Int, b:String, c:Double) val v = Vector(1, "str", 7.3) Я хочу что-то, что будет волшебным образом создавать: Thing(1, "str", 7.3) Существует ли такая вещь (для Вещей произвольного размера)?
355 просмотров
schedule 24.10.2022

Как я могу использовать конструкторы перегруженных классов case и при этом использовать сопоставление с образцом?
Я пытался изучить сопоставление с образцом, когда нашел этот пример. Похоже, что сопоставление шаблонов классов case не работает с перегруженными конструкторами классов case. case class MyClass(var first:String, var last:String){ def this(first:...
1795 просмотров

кейс-класс scala с casbah. Принять параметр objectid как строку или как objectid
Я новичок в scala и не занимался программированием на Java или объектно-ориентированных языках программирования. Я использую этот класс case для записи в базу данных case class User(id: new ObjectId, name: String) Каков наилучший способ...
586 просмотров

Какой самый простой способ красиво напечатать класс case Scala в JSON в Play Framework 2.1.x?
У меня есть класс case, например case class Person(firstName: String, lastName: String) Я хотел бы красиво распечатать его как JSON. Я работаю в Play Framework 2.1.x. У меня также есть библиотека Salat в моем пути к классам, так что я тоже...
7192 просмотров
schedule 18.08.2022

Scala применить правила неприменения
Мне интересно, есть ли в Scala правило или, скорее, «лучшая практика» для переопределенного применения/отмены. Меня особенно интересует, хорошо ли иметь следующее свойство: Для данного класса случаев C(x: T) для всех x Some(x) ==...
597 просмотров
schedule 26.06.2023

Как разобрать этот симпатичный BSON в Scala?
В нашем проекте мы используем Scala и Reactivemongo. (Я очень новичок в обоих) Когда вы печатаете на консоли "симпатичный" Bson, это выглядит так: { _id: BSONObjectID("52b006fe0100000100d47242"), desc:...
2539 просмотров
schedule 08.09.2022

Факторинг атрибутов класса case, как-то обойти ограничения на расширение класса case?
Я хотел бы учесть некоторые общие атрибуты моих классов case, например идентификатор и отметку времени, чтобы написать общий код. Следующее работает нормально, но мне нужно повторить все атрибуты для каждого класса case: trait HasIdAndTimestamp...
619 просмотров
schedule 02.03.2023