为什么 case 对象可以序列化而 case 类不能序列化?
我正在玩这个例子 http://scala.sygneca.com/code/remoteactors 来学习远程 Actor 如何在 Scala (2.8.0) 中工作。特别是,我稍微修改了参与者发送的消…
案例类上的“productElement(i)”是否使用反射?
考虑以下 Scala 片段: case class Foo(v1: String, v2: Int, v3: Any) def inspect(p: Product) = (0 until p.productArity).foreach(i => println…
带有案例类的双向参考
是否可以在案例类中实现双向树。这看起来应该很容易,但我被难住了, case class Node(name:String, parent:Option[Node], children:List[Node]) 我想…
在 Scala 中将所有类定义为 case 以便让它们的所有参数自动成为属性是否正确?
我开始使用Scala。如果我希望将一个类的参数公开为属性,我应该将其定义为案例类,我的理解是否正确?它不会带来任何副作用吗?…
隐式转换以实例化密封类
我有这个继承权 sealed abstract class MyValue case class MyString(s:String) extends MyValue case class MyBoolean(b:Boolean) extends MyValue c…
将标签附加到 Scala 中的不可变案例类
我试图为一种小型语言创建一个解析器,其中包含标签和 goto 等命令: ... lazy val cmds = opt("{")~>rep(cmd<~opt(""))<~opt("}") ^^ {...} la…
从类继承的案例类在用作构造函数参数时存在问题
我有这个案例类定义: class Protocol(protocol:String) object Protocol { def apply(protocol:String) :Protocol = { protocol.toUpperCase match {…
为什么案例类伴生对象要扩展 FunctionN?
当您创建案例类时,编译器会创建一个相应的伴随对象,其中包含一些案例类的好处:与主构造函数匹配的 apply 工厂方法、equals、hashCode 和复制。 有…
Scala 中的命名案例类
我倾向于在案例类中使用这种冗余命名: abstract class MyTree case class MyTreeNode (...) case class MyTreeLeaf (...) 难道不能在 MyTree 的内部…
Scala 不会与 java.lang.String 和 Case Class 进行模式匹配
大家好,Scala 程序员, 我已经使用 Scala 一个月了,但是我在一些基本的东西上遇到了问题,我希望你们能帮助我解决这个问题。 case class PersonClas…
我如何“得到”来自 Java 的 Scala 案例对象?
我在 Scala 中创建了一个案例对象层次结构,如下所示: package my.awesome.package sealed abstract class PresetShapeType(val displayName: String…