15得票2回答
Scala:在模式匹配中混合特质和case类

我希望能够匹配一些案例类。如果我不知道它们,我想匹配指定特质的扩展类。这看起来像: trait Event //root trait trait Status extends Event //special trait trait UIEvent extends Event //spec...

15得票3回答
如何避免Scala的case class默认toString函数被覆盖?

Scala的case class有一个默认的toString函数。但是当这个case class继承了一个已经存在toString()函数的trait时,它就会变得无用。如何避免这种情况?

14得票3回答
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) =&gt...

14得票1回答
案例类构造函数参数类型取决于先前参数的值

我想要做以下事情trait Stateful { type State } case class SystemState(system: Stateful, state: system.State) // does not compile 换言之,state的类型取决于(system的值...

14得票3回答
Scala - 枚举 vs. 案例类

我已经创建了一个名为LogActor的akka actor。LogActor的receive方法处理来自其他actors的消息,并将它们记录到指定的日志级别。 我可以通过两种方式区分不同的级别,第一种方式:import LogLevel._ object LogLevel extends E...

14得票1回答
使用宏动态创建case类

我希望创建一个由宏生成的密封抽象和case类的层次结构。这里有一个类似的示例:http://docs.scala-lang.org/overviews/macros/typemacros.html,但现在已经过时了。 这仍然可行吗? 我认为,为某些指定的语法生成类型安全的AST将非常强大。最...

14得票2回答
如何在Scala中表示案例类的部分更新?

我有以下的 case class:case class PropositionContent(title:String,content:String) 我希望您能代表一部分修改为数据。一种方法是创建案例类:case class PartialPropositionContent(title:O...

14得票2回答
Map展开和flatMap不等价

我原以为在Scala中,使用map(f).flatten的构造方式等同于flatMap(f)。但是通过这个例子,情况并非如此。我想知道这个case类的作用是什么。如果我使用整数,这两种写法是等价的。但在我的情况下,它们不等价。case class CTest(v: Int) val s = S...

13得票1回答
这个案例类匹配模式是如何工作的?

我刚刚在Scala actors包中看到了这个case类:case class ! [a](ch: Channel[a], msg: a) JavaDoc中描述了以下形式的用法:receive { case Chan1 ! msg1 => ... case Chan2 ! msg...

13得票3回答
在Scala的匹配表达式中,备选项的顺序是否影响性能?

特别是在模式匹配和case类方面。考虑以下内容:abstract class Expr case class Var(name: String) extends Expr case class Number(num: Double) extends Expr case class UnOp(o...