scala - 你能在 Scala 中拥有一系列案例对象吗?
问题描述
你能在 Scala 中有一个案例对象类型的 Seq 吗?
IE
case object SuccessResult
case class Results(successes: Seq[SuccessResult])
(IntelliJ 将 SuccessResult 显示为红色)
解决方案
是的,您可以在基本的 Scala REPL 或 Ammonite 中轻松测试它(我更喜欢后者):
@ case object A
defined object A
@ Seq(A, A, A)
res14: Seq[A.type] = List(A, A, A)
类型推断使其也适用于案例对象的密封层次结构(基本上是枚举):
@ {
sealed trait Foo
case object Bar extends Foo
case object Baz extends Foo
}
defined trait Foo
defined object Bar
defined object Baz
@ Seq(Bar, Bar, Baz, Baz, Bar, Baz)
res16: Seq[Product with Foo with Serializable] = List(Bar, Bar, Baz, Baz, Bar, Baz)
推荐阅读
- java - Java Spring JDBC模板第一次请求需要时间
- python - 如何在bash命令中传递变量?
- stm32 - 当数据量较小时,内存到内存 DMA 传输是否存在权衡?
- python - 在 Windows 10 中安装 Python
- amazon-web-services - Elasticchache Redis 的 Stunnel(已启用集群模式)
- reactjs - React.js:如何在验证器库中使用 isLength?
- java - 从选择标记中选择值时抛出 ElementNotInteractableException
- ffmpeg - ffmpeg中thread_queue_size的正确使用
- python - 如何在 Python 3 中从 AWS 读取 Excel 文件?
- oauth - 作为管理员,代表其他用户获取访问令牌