问题标签 [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.
scala - 从Scala中的Some中提取字段
我知道 Some 对象可以是 None 或我传递的对象之一。鉴于 Some 对象不是 None 的事实,从 Some 对象中提取字段的理想方法是什么?我创建了一个“日期”作为其字段之一的“At”类。由于 Some 类具有具有 Product 特征的 mixin,因此以下工作正常:
但是有没有理想的方法来做到这一点?
scala - 在 Scala 选项类型 isEmpty 方法中检查 None
我正在使用选项类型的isEmpty
方法来检查是否没有值。我不想case
match
在我的情况下使用 as,我只想检查是否有None
as 我会向调用者抛出错误。但isEmpty
即使值为 ,该方法也会失败None
。
这是我尝试过的!
它没有进入 if 条件。我试图在 questionOption 上做一个 println,它打印了 None。所以想知道为什么我没有进入 if 条件。
scala - 如何在 Scala 中将选项元组转换为选项元组?
这个问题与这个问题相反。
纯 Scala 答案和 Scalaz 答案都是有帮助的。
scala - 惯用地处理 Scala 选项
Option
处理, map
/getOrElse
或的更惯用的方法是什么match
?
或者
scala - 将 Option 中的值转换为另一种类型
我正在尝试做一些看起来应该在 scala 中具有直接语法/功能的事情。我只是不知道那是什么。我正在尝试将 Option 的包含值(如果它不是 None)转换为另一种类型。
如果我想实现以下功能,我只是想知道代码是什么
注意:我实际上并没有实现这个功能,它只是我展示我需要的最清晰的方式
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 中无法做到的事情。
希望这不会被标记为愚蠢的问题,但是每次我读到“强大”时,问号都会飞过我的头。
scala - Scala中的延迟合并选项
我有几种计算价值的方法,以降低偏好。
这些中的每一个都返回一个Option
. 我想“合并”这些并获取Option
其中第一个返回的值Some
,或者None
如果全部返回None
。
当然,如果firstWay()
返回 a Some
,我不应该计算其余部分。
什么是最惯用(或至少合理可读)的方式来做到这一点?
scala - 如何有效地检查是否定义了两个选项?
假设,我有两个选择:
如何有效地检查 a 和 b 是否都已定义?
我现在可以写这样的东西:
但是,它看起来很难看,而且效率不高。
所以。怎么做?什么是最佳实践?
更新
我想做我的业务逻辑。
scala - “或”-ing Scala 中的两个选项?
我想做这样的事情:
这样做的惯用方法是什么?我能想到的最好的办法是Seq(x, y).flatten.headOption
scala - 将 Option 与更简洁的代码一起使用
抱歉,如果这是一个新手问题...在 Scala 中,我知道当您有一个返回实例但可能不返回任何内容的函数时,最好使用 anOption
而不是返回。null
我知道这在安全性方面会变得更好,因为您不会传递空引用,并且不会冒着风险NullPointerException
。
但是,有没有比使用模式匹配更简洁的方式来处理选项?我最终使用的语法如下:
实际上,所有这些都相当于 Java 版本:
Option
在使用而不是引用时,是否有其他方法可以避免 Scala 中的所有这些样板null
文件?我想要做的就是执行一段代码,只要Option
包含一些对象(即不是None
)。