问题标签 [case-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1741 浏览

scala - 这个案例类匹配模式是如何工作的?

我刚刚在 Scalaactors包中看到了这个案例类:

在 JavaDoc 中,它以以下形式描述了用法:

为什么不是这样:

是bang算子!与以冒号结尾的方法类似的特殊情况:

0 投票
11 回答
53880 浏览

scala - 在 Scala 中映射的案例类

有没有一种好方法可以转换 Scalacase class实例,例如

进入某种映射,例如

这适用于任何案例类,而不仅仅是预定义的类。我发现您可以通过编写一个询问底层 Product 类的方法来提取案例类名称,例如

所以我正在寻找一个类似的解决方案,但对于案例类字段。我想一个解决方案可能必须使用 Java 反射,但如果案例类的底层实现发生变化,我不想写一些可能会在未来版本的 Scala 中破坏的东西。

目前我正在使用 Scala 服务器并使用案例类定义协议及其所有消息和异常,因为它们是一个非常漂亮、简洁的构造。但是然后我需要将它们转换为 Java 映射,以通过消息传递层发送以供任何客户端实现使用。我当前的实现只是为每个案例类分别定义了一个翻译,但如果能找到一个通用的解决方案会很好。

0 投票
2 回答
433 浏览

scala - 用于向 Scala Actors 发送消息的符号或案例类?

在 Scala Actor 示例中,我看到了将无参数消息发送给 Actor(例如this)的位置,创建了case classes(或case objects),然后将其用作消息。符号也可以工作,看起来更整洁,并且在阅读了一本关于 Erlang 的书之后,看起来更自然。我假设符号平等适用于远程参与者。

对于带有参数的消息,案例类将是显而易见的选择,所以消息类型之间的一致性可能是一个问题?

有任何理由采用这两种方法吗?

0 投票
14 回答
122471 浏览

scala - Scala中的案例对象与枚举

是否有关于何时使用案例类(或案例对象)与在 Scala 中扩展枚举的最佳实践指南?

它们似乎提供了一些相同的好处。

0 投票
1 回答
1607 浏览

scala - Scala中匹配案例类的子类

为什么这无法编译(或工作?):

编译器错误是:

请注意,这将按预期编译和运行:


附录

仅供参考,编译并运行良好:

0 投票
4 回答
13423 浏览

reflection - 对 Scala 案例类的反思

我正在尝试编写一个可以混合到案例类中的特征(在 Scala 2.8 中),允许在运行时检查其字段,以用于特定的调试目的。我想按照它们在源文件中声明的顺序取回它们,并且我想省略案例类中的任何其他字段。例如:

上面的实现显然是有缺陷的,因为它通过这些字段上的值的相等性来猜测字段在 Product 中的位置与其名称之间的关系,因此以下内容将不起作用:

有什么办法可以实现吗?

0 投票
2 回答
12688 浏览

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

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

编辑 :

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

0 投票
17 回答
137264 浏览

scala - Scala的案例类和类有什么区别?

case class我在 Google 中搜索以找到 a和 a之间的区别class。大家都提到,当你想对类做模式匹配时,用例类。否则使用类,并提到一些额外的好处,如等于和哈希码覆盖。但这些是人们应该使用案例类而不是类的唯一原因吗?

我想 Scala 的这个特性应该有一些非常重要的原因。解释是什么,或者是否有资源可以从中了解有关 Scala 案例类的更多信息?

0 投票
2 回答
73554 浏览

scala - Scala案例类的重载构造函数?

在 Scala 2.8 中有没有办法重载案例类的构造函数?

如果是,请放一个片段来解释,如果不是,请解释为什么?

0 投票
3 回答
14299 浏览

scala - 如何从 Java 中“获取”一个 Scala 案例对象?

我在 Scala 中创建了一个案例对象的层次结构,如下所示:

我也有一段我想访问的 Java 代码PressureSensor,但以下代码不起作用:

那么,如何PressureSensor从 Java 中引用 case 对象呢?我反编译了PressureSensorPressureSensor$类的字节码,结果如下:

但这并没有产生任何深刻的见解。