相当于callIfNotEmpty的Scala选项

相当于callIfNotEmpty的Scala选项,scala,optional,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)) 尝试使用foreach。例如: option.foreach

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

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

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

尝试使用
foreach
。例如:

option.foreach(println)
从:

每小时的最终定义[U](f:(A)⇒ U) :单位

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

选项的顶部甚至有一条注释
code:

使用
scala.Option
实例最惯用的方法是将其视为一个集合或monad,并使用
map
flatMap
filter
foreach


回想一下,
选项
可以隐式转换为
Iterable
,因此您通常在集合中使用的任何内容都可以使用

非常简单。谢谢。我还喜欢使用
选项
实例上的
折叠
方法,用于在
选项
为空时需要表达式返回默认值,但希望为非空的情况返回函数结果的情况。