Man*_*idt 10 scala api-design scala-collections
为什么get
定义方法Option
而不是Some
?
一个可以应用模式匹配和使用foreach
,map
,flatMap
,getOrElse
这无论如何是不优先运行时异常的危险,如果None.get
被调用.
是否真的存在这种get
方法非常有说服力以至于证明这一点的理由?使用该get
方法让我想起Java,其中"我不需要检查null,因为我知道var已设置",然后查看a NullPointerException
.
当您通过类型系统未捕获的推理知道您拥有的值不是None时,Option.get偶尔会有用.但是,您只有在尝试时才能达到:
这对于一次性/交互式代码(REPL,工作表等)也很方便.