问题标签 [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 回答
586 浏览

scala - scala新手遇到Option问题,相当于三元运算符

我已经读过 scala 中的 if 语句总是返回一个表达式

所以我正在尝试执行以下操作(伪代码)

我正在尝试

但我得到这个错误:

订单是一个选项[字符串]

我只想为方法提供一个可选参数,如果未传递该参数(在这种情况下为顺序),则跳过它

实现我想要做的最惯用的方法是什么?

- 编辑 -

我想我问得太匆忙了

我找到了这种方式,

这是正确的方法吗?

我以为地图是为了其他目的......

0 投票
1 回答
2203 浏览

scala - 从 Scala 中的通用选项数组返回值

我在使我的函数通用化时遇到了一些困难,需要一些帮助。我有一个数组,它采用 T 的选项,其中 T 是小数。在 F# 中,有一个函数“选择”,它可以从选项集合中删除无。在 scala 中,我尝试使用“flatten”,但它不适用于泛型类型。

我的代码是

...后来我尝试获取 Some's 的值:

错误是:

错误:找不到参数 m 的隐式值:scala.reflect.ClassManifest[U] val flat = arr.flatten

我是一个完整的 scala 菜鸟,也许不应该玩泛型 :) 我如何使这项工作?

谢谢!

0 投票
3 回答
1263 浏览

scala - Scala:是否是唯一的选择?

关于潜在的运行时故障,如数据库查询,似乎必须使用某种形式的Either[String, Option[T]]才能准确捕获以下结果:

  1. 一些(找到的记录)
  2. 无(未找到记录)
  3. SQL 异常

选项根本没有足够的选项。

我想我需要深入研究 scalaz,但现在它是直接的,除非我在上面遗漏了一些东西。

我的 DAO 实现让自己陷入了困境,只使用 Either 进行写入操作,但现在我看到一些 Either 写入依赖于 Option 读取(例如检查新用户注册时是否存在电子邮件),这是一个非常糟糕的赌博.

在我全力以赴之前,是否有人有替代解决方案来处理成功/失败/异常的运行时三重奏?

0 投票
3 回答
495 浏览

scala - Scala,一个选项的折叠选项

我想知道是否有折叠选项地图的短手。例如

为了解决这个问题,我做

这似乎有点沉重。我可以在 Option 上创建一个隐式函数说 mapOption 来处理这个问题,但我想知道是否有更好的方法我没有想到。

0 投票
3 回答
316 浏览

scala - 对选项结果应用或操作

我有以下代码:

我想减少 containsV 方法的代码。我的第一个想法是使用 fold 方法来缩短 containsIn 方法。但是 Option 没有,也没有扩展 Class Either。Option[T] 不应该扩展 Either[T, None] 吗?然后至少可以使用 Either 的 fold 方法。

我最后的想法是将 s1 和 s2 视为一个 List 并找到它,但我无法编译:

0 投票
3 回答
1348 浏览

scala - 如何一次匹配选项映射值?

是否可以Option[Map[String,String]]一次匹配某个键(例如没有嵌套匹配)?

以下片段是现在的样子:

0 投票
1 回答
273 浏览

scala - Why does Option require explicit toList inside for loops?

Using a for loop with a simple Option works:

But looping over the contents of the Option does not:

...unless the Option is explicitly converted to a List:

Why is the explicit list conversion needed? Is this the idiomatic solution?

0 投票
3 回答
9406 浏览

scala - Combining 2 Options into 1

Is there a predefined function x in Scala that combine 2 Options so that

#xA;
0 投票
2 回答
5581 浏览

scala - 将列表头作为选项的紧凑语法

当列表非空时,是否有一种紧凑的方法可以将列表的头部作为 Some ,否则获取 None ?

这是我目前正在做的,

0 投票
1 回答
258 浏览

scala - 为什么 Option 扩展 Product?

我一定遗漏了一些东西,但我没有看到类中的特性productElement和特性的实现。productArityProductOption

所以两个问题:

  1. 为什么会Option延长Product
  2. 怎么可能Option(或它的两个子类中的任何一个)没有实现这两种方法?