标签: case-class

案例类继承的*so*错误是什么?

在寻找别的东西时,我只是偶然发现了一些关于恶魔案例类继承的评论.这个东西被称为ProductN,可怜虫和国王,精灵和巫师,以及如何通过案例类继承丢失某种非常理想的属性.那么case类继承有什么问题呢?

inheritance scala case-class

66
推荐指数
1
解决办法
1万
查看次数

在Scala中,有一种简单的方法可以将案例类转换为元组吗?

有没有一种简单的方法将案例类转换为元组?

当然,我可以轻松编写样板代码来执行此操作,但我的意思是没有样板.

我真正想要的是一种轻松地按字典顺序编写案例类的方法.我可以通过导入scala.math.Ordering.Implicits._来实现元组的目标,瞧,我的元组有一个为它们定义的Ordering.但scala.math.Ordering中的含义一般不适用于案例类.

scala tuples case-class

55
推荐指数
3
解决办法
1万
查看次数

Scala中的case类中的hashCode

我已经读过Scala'a case class构造自动生成拟合equalshashCode实现.生成的代码到底是什么样的?

scala hashcode case-class

54
推荐指数
3
解决办法
3万
查看次数

在声明案例类时我应该使用final修饰符吗?

根据scala-wartremover静态分析工具,我必须将"final"放在我创建的每个case类的前面:错误消息说"case classes必须是final".

根据scapegoat(Scala的另一个静态分析工具)而不是我不应该(错误消息:"案例类的冗余最终修饰符")

谁是对的,为什么?

static-analysis scala case-class scala-wartremover

50
推荐指数
1
解决办法
9809
查看次数

Scala - 如何打印像(漂亮打印)树一样的案例类

我正在使用Scala Combinators创建解析器.太棒了.我最终得到的是一长串陷入困境的案例类,例如:ClassDecl(Complex,List(VarDecl(Real,float), VarDecl(Imag,float)))只需要100倍.我想知道是否有一种很好的方法以树状方式打印这样的案例类,以便更容易阅读..?(或其他形式的漂亮印刷品)

ClassDecl
  name = Complex
  fields =
  - VarDecl
      name = Real
      type = float
  - VarDecl
      name = Imag
      type = float
Run Code Online (Sandbox Code Playgroud)

我想结束这样的事情

编辑:奖金问题

是否还有一种方法来显示参数的名称..?喜欢:ClassDecl(name=Complex, fields=List( ... )

scala pretty-print case-class

47
推荐指数
7
解决办法
2万
查看次数

如何绕过22个字段的Scala案例类限制?

Scala案例类在构造函数中限制为22个字段.我想超过这个限制,有没有办法用继承或组合使用案例类?

scala case-class

47
推荐指数
4
解决办法
3万
查看次数

例外情况应该是案例类吗?

我的自定义异常类型应该是case classes吗?

从好的方面来说,我得到了提取器.

在负面,我得到不正确的相等语义.但我可以通过压倒来避免这种情况equals.

那么,从概念上讲,将它们制作成是有道理的case class吗?

scala exception case-class

46
推荐指数
3
解决办法
7199
查看次数

为什么不推荐使用参数列表的案例类?

为什么没有参数列表的案例类不推荐使用Scala?为什么编译器建议使用()参数列表呢?

编辑:

有人请回答我的第二个问题......:|

scala deprecated case-class

41
推荐指数
2
解决办法
1万
查看次数

在伴侣对象在类中时使用.tupled方法

我正在从Slick迁移到Slick 2,在Slick 2中你想tupled在投影到案例类时使用该方法(如http://slick.typesafe.com/doc/2.0.0-所示)RC1/migration.html)

问题是当case类有一个伴随对象时,即如果你有这样的东西

case class Person(firstName:String,lastName:String) {

}
Run Code Online (Sandbox Code Playgroud)

与伴侣对象一起

object Person {
  def something = "rawr"
}
Run Code Online (Sandbox Code Playgroud)

在相同的范围内,该tupled方法不再有效,因为它试图运行tupledobject,而不是,case class.

有没有一种方法来检索case classPerson,而不是object,所以你可以调用tupled正确?

singleton scala case-class slick

39
推荐指数
3
解决办法
8478
查看次数

动态混合特征

有特点

trait Persisted {
  def id: Long
}
Run Code Online (Sandbox Code Playgroud)

如何实现一个接受任何case类实例的方法并返回其特征混合的副本?

该方法的签名如下:

def toPersisted[T](instance: T, id: Long): T with Persisted
Run Code Online (Sandbox Code Playgroud)

scala traits mixins case-class

38
推荐指数
2
解决办法
1万
查看次数