【发布时间】:2011-07-27 08:59:16
【问题描述】:
假设我有这样的事情:
def f () = {
var v = someLookupToV()
match v {
case Some(v) => (v.id, someOtherLookup(v.id))
case None => None // <<-- doesn't work, but I'm not sure what to put there!
}
}
有点假设 someLookupToV 返回一些对象,它有一个字段 id,然后我有一些基于 v.id 的其他查找。我想将两个值作为元组返回。但是如果 Some(v) 不匹配,我该怎么办?我要返回什么? None 和 (None,None) 没有用。 Scala 接受了 (null,null) 但我不知道这是否是正确的做法......
【问题讨论】:
-
null存在于 Scala 中主要是为了与 Java 的互操作性。最好尽可能避免使用Option、Some和None,当您的值可能为空时。