作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有任何 Option 函数等效于:
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)
来自 docs :
final def foreach[U](f: (A) ⇒ U): Unit
Apply the given procedure
f
to the option's value, if it is nonempty.
Option
代码顶部甚至还有注释:
The most idiomatic way to use an
scala.Option
instance is to treat it as a collection or monad and usemap
,flatMap
,filter
, orforeach
回想一下,Option
可以隐式转换为 Iterable
,因此您通常可以使用集合上的任何内容!
关于等效于 callIfNotEmpty 的 Scala 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28595216/
是否有任何 Option 函数等效于: def callIfNotEmpty[T](option: Option[T], fun: (T) => Unit): Unit = option match
我是一名优秀的程序员,十分优秀!