对于some来说:
如果some指定了一个数,那从这里面取getOrElse方法结果都是该指定的数,若Option为空,则取出的getOrElse值是后面的指定的值,与option无关。就是一个默认的缺省值一样。
Option[Int]是类型 Int的容器,更确切地说,你可以把它看作是某种集合,这个特殊的集合要么只包含一个元素(即单词的历史词频),要么就什么元素都没有(这个单词历史上没有出现过,所以没有历史词频信息)。之所以采用 Option[Int]保存历史词频信息,这是因为,历史词频可能不存在,很多时候,在值不存在时,需要进行回退,或者提供一个默认值,Scala 为Option类型提供了getOrElse方法,以应对这种情况。 state.getOrElse(0)的含义是,如果该单词没有历史词频统计汇总结果,那么,就取值为0,如果有历史词频统计结果,就取历史结果。