Scala选项等同于callIfNotEmpty

时间:2015-02-18 22:29:10

标签: scala optional

是否有任何等同于以下的选项功能:

def callIfNotEmpty[T](option: Option[T], fun: (T) => Unit): Unit = option match {
    case Some(x) => fun(x)
    case None =>
}

可以称为:

option.callIfNotEmpty((optionValue) => fun(optionValue))

1 个答案:

答案 0 :(得分:9)

尝试使用foreach。例如:

option.foreach(println)

来自docs

  

final def foreach[U](f: (A) ⇒ U): Unit

     

将给定的过程f应用于选项的值,如果它是非空的。

Option代码的顶部甚至还有评论:

  

使用scala.Option实例的最惯用方法是将其视为集合或monad,并使用mapflatMapfilter或{{1} }

回想一下,foreach可以隐式转换为Option,因此您可以使用通常收藏的任何内容!