问题标签 [scala-option]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4777 浏览

scala - 从Scala中的Some中提取字段

我知道 Some 对象可以是 None 或我传递的对象之一。鉴于 Some 对象不是 None 的事实,从 Some 对象中提取字段的理想方法是什么?我创建了一个“日期”作为其字段之一的“At”类。由于 Some 类具有具有 Product 特征的 mixin,因此以下工作正常:

但是有没有理想的方法来做到这一点?

0 投票
2 回答
54494 浏览

scala - 在 Scala 选项类型 isEmpty 方法中检查 None

我正在使用选项类型的isEmpty方法来检查是否没有值。我不想case match在我的情况下使用 as,我只想检查是否有Noneas 我会向调用者抛出错误。但isEmpty即使值为 ,该方法也会失败None

这是我尝试过的!

它没有进入 if 条件。我试图在 questionOption 上做一个 println,它打印了 None。所以想知道为什么我没有进入 if 条件。

0 投票
5 回答
8138 浏览

scala - 如何在 Scala 中将选项元组转换为选项元组?

这个问题与这个问题相反。

纯 Scala 答案和 Scalaz 答案都是有帮助的。

0 投票
4 回答
4673 浏览

scala - 惯用地处理 Scala 选项

Option处理, map/getOrElse或的更惯用的方法是什么match

或者

0 投票
3 回答
3761 浏览

scala - 将 Option 中的值转换为另一种类型

我正在尝试做一些看起来应该在 scala 中具有直接语法/功能的事情。我只是不知道那是什么。我正在尝试将 Option 的包含值(如果它不是 None)转换为另一种类型。

如果我想实现以下功能,我只是想知道代码是什么

注意:我实际上并没有实现这个功能,它只是我展示我需要的最清晰的方式

0 投票
2 回答
6298 浏览

java - Java Optional 和 Scala Option 的区别

最后,这篇介绍新 Java 8Optional的文章指出,

Optional 不如 Scala 中的 Option[T] 强大(但至少它不允许包装 null)。API 不像 null 处理那么简单,而且可能要慢得多。但是编译时检查的好处加上 Optional 的可读性和文档价值始终如一地大大胜过缺点

我对 Scala 有非常基本的了解,并且对 Java 8 很熟悉Optional,所以乍一看,我不清楚两者之间有什么区别(如果有的话)。

例如,我知道在 Scala 中,我可以使用模式匹配来测试Option并让我的生活更轻松。但是,不包括 Scala 语法的特性,我想知道是否有一些我可以Option在 Scala 中做而Optional在 Java 中无法做到的事情。

希望这不会被标记为愚蠢的问题,但是每次我读到“强大”时,问号都会飞过我的头。

0 投票
2 回答
1063 浏览

scala - Scala中的延迟合并选项

我有几种计算价值的方法,以降低偏好。

这些中的每一个都返回一个Option. 我想“合并”这些并获取Option其中第一个返回的值Some,或者None如果全部返回None

当然,如果firstWay()返回 a Some,我不应该计算其余部分。

什么是最惯用(或至少合理可读)的方式来做到这一点?

0 投票
3 回答
1825 浏览

scala - 如何有效地检查是否定义了两个选项?

假设,我有两个选择:

如何有效地检查 a 和 b 是否都已定义?

我现在可以写这样的东西:

但是,它看起来很难看,而且效率不高。

所以。怎么做?什么是最佳实践?

更新

我想做我的业务逻辑。

0 投票
3 回答
217 浏览

scala - “或”-ing Scala 中的两个选项?

我想做这样的事情:

这样做的惯用方法是什么?我能想到的最好的办法是Seq(x, y).flatten.headOption

0 投票
5 回答
242 浏览

scala - 将 Option 与更简洁的代码一起使用

抱歉,如果这是一个新手问题...在 Scala 中,我知道当您有一个返回实例但可能不返回任何内容的函数时,最好使用 anOption而不是返回。null我知道这在安全性方面会变得更好,因为您不会传递空引用,并且不会冒着风险NullPointerException

但是,有没有比使用模式匹配更简洁的方式来处理选项?我最终使用的语法如下:

实际上,所有这些都相当于 Java 版本:

Option在使用而不是引用时,是否有其他方法可以避免 Scala 中的所有这些样板null文件?我想要做的就是执行一段代码,只要Option包含一些对象(即不是None)。