13得票2回答
安全地在不同类型的case类之间复制字段

假设您有以下这样的案例类: case class Test1(a:String,b:Int,c:Char) case class Test2(a:String,b:Int) 你需要使用以下变量实例化类 val test1 = Test1("first",2,'3') val tes...

12得票4回答
Scala案例类的反思

我想写一个trait(在Scala 2.8中),可以混入到case类中,在特定的调试目的下,允许在运行时检查其字段。 我希望按照它们在源文件中声明的顺序将它们返回,并且我想省略case类中的任何其他字段。例如:trait CaseClassReflector extends Product {...

12得票2回答
为什么 case 对象是可序列化的而 case 类不是?

我正在尝试使用这个例子http://scala.sygneca.com/code/remoteactors,以了解在Scala(2.8.0)中远程actor的工作原理。特别是,我稍微修改了actor发送的消息的定义方式,如下所示:sealed trait Event extends Seria...

12得票1回答
在某些情况下,类型别名参数限制未得到执行。

简而言之,似乎类型别名的类型参数(例如type T[X<:Serializable])在被引用为变量、参数和其他情况时不会强制执行其约束条件。然而,对于它们的参数,case类确实正确地强制执行了边界。 考虑一个旨在表示通用类型子集的类型别名。例如,假设我想要一个用于包含“可序列化”物品...

12得票2回答
Scala抽取器 - 跳过未使用的参数

给定以下代码:abstract class MyTuple ... case class MySeptet(a: Int, b: Int, c: Int, d: Int, e: Int, f: Int, g: Int) extends MyTuple case class MyOcte...

12得票1回答
同伴对象中的柯里化案例类构造函数

在定义 case class时,默认的伴生对象拥有一个不错的 curried 方法,用于获取 case class 构造函数的柯里化版本:scala> case class Foo(a: String, b: Int) defined class Foo scala> Foo.c...

11得票2回答
如何使用属性和类型类定义无形的case类?

我目前正在实现一个库,将XML-RPC消息序列化和反序列化。这个库已经快要完成了,但现在我正在尝试使用Shapeless来消除当前的asProduct方法中的样板代码。以下是我的当前代码: trait Serializer[T] { def serialize(value: T): No...

11得票1回答
案例类中的静态函数(Scala)

我在Scala应用程序中有一个case类,并且有一个静态函数,我希望在该类中编写,因为这是最合理的方式。 case class At ( date : DateTime, id : String, location : Coordinate ) { ... d...

11得票1回答
如何测试一个案例类构造函数的参数?

我想测试我的案例类构造函数的参数,如果它们未通过某些测试,则抛出异常。当我尝试编写自己的apply方法时,编译器报错(存在多个“apply”方法)。 我想我可以将其变成非案例类,并自己执行apply / unapply构造函数字段操作,但我希望不必这样做。 谢谢

11得票3回答
使用泛型类型复制Scala的case class

我有两个类PixelObject和ImageRefObject,还有更多的类,但为了简化问题,这里只列出这两个类。它们都是trait Object的子类,该类包含一个uid。 我需要一个通用方法,可以复制给定新uid的案例类实例。我之所以需要它,是因为我的任务是创建一个ObjectReposi...