- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很熟悉for
领悟和flatMap
在选项上。
所以我知道你可以做类似的事情
val a: Option[_] = for {
foo <- Some(x)
bar <- Some(y)
baz <- Some(z)
} yield baz
Some(z)
如果理解中没有任何内容是
None
,因为它正在做
flatMap
在每个语句上。
for
修真,只要一切都是
None
,就像
orElse
在
for
理解。
val b: Option[_] = for {
foo <- None
bar <- Some(x)
baz <- None
} yield *return the one with some*
最佳答案
reduce
发现Some
不会短路(即,即使第一个元素是 Some
,一千个元素列表也会进行一千次比较)。 find(_.isDefined)
+ flatten
将停止并返回第一个 Some
它发现。下面只会做 2 次比较(而不是 5 次)。
val xs: List[Option[Int]] = List(None, Some(1), None, Some(2), None, Some(3))
xs.find(_.isDefined).flatten
关于Scala for-comprehension for orElse 而不是 flatMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23688971/
是 orElse 的“其他”部分吗?当由于另一个事务写入 TVar 而重试事务时调用它已阅读,或仅当 retry 被显式调用? 最佳答案 如果你有 orElse a b 然后 b仅在 retry 时运
我正在尝试学习Java 8 功能可选。我对Optional.orElse的工作原理感到困惑。这是我尝试过的: public class OptionalsExample { public st
当在 map 步骤之一中得到空列表时,如何调用 orElse? MyObj myObj = new MyObj(); myObj.setAaa("aaa"); myObj.setBbb("bbb");
让我们定义一个 PartialFunction[String, String]和一个 PartialFunction[Any, String] 现在,给定 orElse 的定义 def orElse[
是使用PartialFunction的 orElse或多或少比使用大 match 更有效期间阻止 apply时间? 为了说明这个问题,是: val pf = { case "a" => "A"} or
使用 Either 的惯用方式是什么?在斯卡拉?例如当使用 Option我可以使用 orElse如果当前是 None,则获取下一个可选值的方法.但是如何使用 Either以同样的方式?我没有找到像 o
or 和 OrElse 有什么区别? if temp is dbnull.value or temp = 0 产生错误: Operator '=' is not defined for type 'D
有时我想返回包含在选项中的对象的属性值,但我无法使用 getValue.orElse(otherValue) 轻松做到这一点。 例如,我正在映射内联属性,并且我想使用像 object.get.prop
我很好奇为什么可以这样做(至少在 Java 8 上): Optional.of(null).orElse("something"); Optional.of(null) 基本上是一个有保证的空指针。允
大家好,使用 gzip 的工作人员,我遇到了一个问题。我有一个 GzipWrapper 并且有很多 if else,是否可以使用Optional.orElse 做类似的事情?通过简单的可选示例,我将其
我在使用Optional和匿名类时遇到了一个奇怪的问题: public class Foo { interface Bar { } void doesNotCompile()
是否可以写一个概括的orElse方法来自 Option这需要可变数量的参数?也就是说,而不是: lazy val o1 = { println("foo"); None } lazy val o2 =
我有以下代码打击。我试图找到一种方法来避免 if (something.isPresent())行并声明 Optional something以及。相反,我想链接 Optional.orElse()方
我需要一些关于以下代码片段的帮助。如果raiseWorkQueueTask可以找到任何null != previousPeriod.getOldId()和,则它应该返回通知riseWorkQueue
我正在寻找在 null 情况下提供默认值的良好语法。在涉及 API 的 Java 中,我习惯于使用 Optional 而不是 null,并且想知道 C# 更好的可空类型是否有等效的类型? 可选项 Op
这个问题在这里已经有了答案: Difference between `Optional.orElse()` and `Optional.orElseGet()` (9 个回答) When I nee
我正在尝试在 orElse 中使用 Stream 并且难以理解错误。 collectorConfiguration = Optional.ofNullable(recapPlacement.getAt
我正在使用流过滤器 findAny.orElse,但它没有像我预期的那样工作,所以我想我不了解它的真正工作原理。这是我的代码 return Stream.of(getObjectAttributeVa
在下面的代码中,我试图理解 java-8 中提供的 Optional 的概念。我创建了以下示例来掌握 orElse() 背后的原理。执行代码后,执行了defaultMethod()的主体,并返回 ne
我正在使用此逻辑并尝试在未找到员工时返回 new Employee()。 但是,当 request.getId() 为 null 时,它会抛出异常,我正在等待它执行 orElse() 部分.然而,事实
我是一名优秀的程序员,十分优秀!