case-class

    0热度

    1回答

    我想了解,并与国家Monad舒适,所以我基本上是通过复制一个先前存在的例子。 '国家'只是一扇门,如果它在关闭时被推开,当被打开时被关闭时会关闭。如果在关闭时打开或拉出时,它不起作用。所以下面的代码似乎按预期工作。 def main(args: Array[String]): Unit = { import Monad._ // Push to open, pull to close ca

    0热度

    1回答

    我是Scala中的新成员,并且混淆了特性混合。我使用多种特性来存储一些字段组,并将它们与具体的类混合使用。 全局性问题是关于equals和hashCode方法如何操作这些字段(特性中的字段可以具有默认值)。 其实我没有计划有一堆辅助器,并再次定义所有这些领域。我的班级可以有很多字段组合,我想使用Builder模式或简单的增变链接。 我不明白我该如何操作具体类的equals和hashCode中的不同

    28热度

    2回答

    我追求简洁的代码从字符串(如CSV行)初始化简单的Scala case类: case class Person(name: String, age: Double) case class Book(title: String, author: String, year: Int) case class Country(name: String, population: Int, area: D

    3热度

    1回答

    我需要修改案例类的多个字段,但不包含所有copy代码。似乎没有形状是一个好方法。 据example,我能以这种形式使用lens: lensA ~ lensB ~ lensC set(something)(valA, valB, valC) 这是很好的。但在我的情况下,嵌套字段并不是我最关心的问题(我确信它会: - <)。所以lens解决方案几乎是一样的: 我想指出something.copy(a

    0热度

    1回答

    我试图建立JSON结构验证器的一员,在这一点上我已经有了的东西如下: 读取定义 case class SubTaskConfigElement(name: String) case class MultiSelectConfig(subTasks: Seq[SubTaskConfigElement]) implicit val subTaskConfigElementReads: Read

    7热度

    2回答

    我有一些在其伴侣对象中定义了方法tupled的案例类。从下面的伴随对象代码可以看出,它只是代码复制。 case class Book(id: Int, isbn: String, name: String) object Book { def tupled = (Book.apply _).tupled // Duplication } case class Author(i

    2热度

    1回答

    我目前在scala特性和案例类的上下文中坚持使用“接口程序,而不是实现”范例。考虑以下情形: trait Foo { def bar: String } case class FooImpl(override val bar: String) extends Foo object Hello { def main(args: Array[String]) {

    0热度

    1回答

    看起来如果案例类同时具有枚举和选项,我不能从Java实例化它。 考虑斯卡拉如下: object WeekDay extends Enumeration { type WeekDay = Value val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value } case class EnumOption(e: WeekDay.Valu

    0热度

    2回答

    我的代码中有一件奇怪的事情,无法确定原因。也许这是我不知道的Scala功能。 case class Page(index:Int) { private var lines = Map[Int, Line]() def set(index:Int, line:Line):Page = { val copy = this.copy() copy.lines =

    0热度

    1回答

    当前正在尝试使Java驱动程序与Scala案例类兼容。问题是反射失败相当糟糕。 基本上,很多不需要的字段正在通过,并且正在插入ANNOTATION和getModifiers等字段。但是,当我使用调试器进行检查时,下面代码中的pojo确实是models.User。然而,拨打 pojo产生java.lang.Class。 我也尝试过在案例类val的每个字段中,然后在类上调用.getDeclaredFi