问题标签 [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 投票
1 回答
1731 浏览

scala - Scala可变选项?

我想要这样的东西:

我不是在寻找像这样的基于 HashMap 的通用记忆。我尝试使用 a 来实现它,var Option[A]但对我来说它看起来不是很地道:

0 投票
2 回答
290 浏览

scala - Option method like `collect` that returns Unit?

Is there a method on the Option class that works like collect (it takes a partial function), but has a return type of Unit?

That is: map is to collect as foreach is to ?.

Sorry, I'm new to Scala--I've looked over the Option docs and did a little research, but didn't find anything relevant.

I know I can just use match, I was just wondering if there was a simpler solution.

0 投票
3 回答
1869 浏览

scala - 使用 null 参数从 Scala 调用 Java API

我有一些需要调用 Java API 的 Scala 代码

Java API 接受可能为空的参数。当然,我的 Scala 使用Option.

例如,假设我有一个 Java 对象构造函数,Foo(Integer)其中. 我想给它一个 Scala 来称呼它。Integernullbar: Option[Int]

我试过这个

但是得到了这个编译错误

这样做的正确成语是什么?

0 投票
2 回答
86 浏览

scala - 一些具有多个参数的创建元组选项

以下代码在 Scala 中如何工作?

我没有看到为一些可以接受多个参数的应用方法定义。

0 投票
2 回答
819 浏览

list - Drools 规则验证 Scala 选项类型中的对象

(强制性新手免责声明)

我正在尝试编写一个规则,只要(scala)列表中的对象匹配条件就会触发。这里的问题是该列表实际上是一个 Option(List[TypeA])... (另外,我意识到将列表存储在工作内存中并不是最佳做法,但鉴于这种情况我不能这样做)

我使用的案例类具有以下结构:

我写了一个类似的规则:

我已经在没有“.get()”的情况下尝试了这个,只是为了得到一个 Some() 类型的对象。

使用“.get()”,我设法返回了 Option 的内容,但它似乎与预期的类型 (List[TypeB]) 不匹配。相反,返回值的类型似乎是 scala.collection.immutable.$colon$colon

关于问题是什么的任何想法?如果有任何适当的方法来处理 Drools 中的选项?

0 投票
2 回答
916 浏览

scala - 嵌套 Scala 选项字段的最佳实践?

我有许多嵌套对象,都包含在 Scala Option 类型中。在我的项目的其他地方,我不得不调用一个嵌入了大约 5 个级别(其中一些是列表)的属性,每次调用.get. 这样,我最终得到如下所示的东西:

除了一系列.get调用(我不确定这是否理想)之外,我并没有以这种方式实现太多错误处理,如果任何属性为空,那么整个事情就会崩溃。鉴于嵌套调用,如果我将其限制为如上所述的单行,我也只能.getOrElse在最后使用一次。

在 Scala 中是否有任何使用选项类型的建议方法?

0 投票
3 回答
7824 浏览

scala - Apache Spark:处理 RDD 中的 Option/Some/None

我正在映射一个 HBase 表,每个 HBase 行生成一个 RDD 元素。但是,有时该行有错误的数据(在解析代码中抛出 NullPointerException),在这种情况下我只想跳过它。

我让我的初始映射器返回 anOption以指示它返回 0 或 1 个元素,然后过滤Some,然后获取包含的值:

有没有更惯用的更短的方法来做到这一点?我觉得这看起来很乱,无论是在我正在做getData()的舞蹈中。map.filter.map

也许 aflatMap可以工作(在 a 中生成 0 或 1 个项目Seq),但我不希望它使我在 map 函数中创建的元组变平,只是消除空。

0 投票
4 回答
14183 浏览

scala - Scala 中的合并选项

大多数 SQL 实现(这个问题与 SQL 无关,它只是一个例子)提供COALESCE(x1,x2,...,xn)返回x1if it is not的函数NULLx2否则只有 if x2is not notNULL两者等等。如果所有xi值都是,NULL则结果为NULL

我想COALESCE在 Scala 中获得类似 SQL 的东西,以便将OptionNULL替换为None. 我会给你一些例子:

所以我将其实现为:

它工作正常,但我想知道是否已经存在类似这个函数作为 Scala 的一部分实现的东西。

0 投票
2 回答
1783 浏览

scala - 构造 Option 对象的正确方法:Option(value) vs Some(value)

Option两种启动对象的方式的优缺点是什么:

1.

2.

我应该使用哪个?

0 投票
2 回答
488 浏览

scala - 如何在Scala中处理`null`

当 Scala 应用程序与 Java 代码交互时,它有时需要处理null由 Java 方法返回的。

这两种方式中哪一种更符合scala的习惯?我应该使用哪一个?

1.

2.