相关疑难解决方法(0)

什么是密封特性?

"Scala编程"中描述了密封类,但密封特性不是.我在哪里可以找到有关密封特性的更多信息?

我想知道,如果密封的特性与密封的类相同吗?或者,如果没有,有什么区别?何时使用密封特性(何时不是)?

scala traits sealed

322
推荐指数
6
解决办法
8万
查看次数

SBT中非穷举匹配使编译失败

让我们说我有一个特点,父母,有一个孩子,孩子.

scala> sealed trait Parent
defined trait Parent

scala> case object Boy extends Parent
defined module Boy
Run Code Online (Sandbox Code Playgroud)

我写了一个函数,模式匹配密封的特征.我的f功能是完全的,因为只有一个Parent实例.

scala> def f(p: Parent): Boolean = p match { 
     |   case Boy => true
     | }
f: (p: Parent)Boolean
Run Code Online (Sandbox Code Playgroud)

然后,2个月后,我决定添加一个Girl孩子Parent.

scala> case object Girl extends Parent
defined module Girl
Run Code Online (Sandbox Code Playgroud)

然后重新编写f方法,因为我们正在使用REPL.

scala> def f(p: Parent): Boolean = p match { 
     |   case Boy => true
     | }
<console>:10: warning: match may …
Run Code Online (Sandbox Code Playgroud)

scala pattern-matching sbt

20
推荐指数
2
解决办法
2403
查看次数

标签 统计

scala ×2

pattern-matching ×1

sbt ×1

sealed ×1

traits ×1