问题标签 [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 - 期权与未来
我正在构建具有惊人数量抽象的 ubercool 应用程序。现在我要设计过度设计的EntityGetService。
我想要的第一件事是很多抽象类型,让我们这样说:
这里的 CONTAINER 是包含(或不包含)请求实体的类型。与 Option[ENTITY] 非常相似。但我想要的第二件事是,CONTAINER 也可以是 Future[ENTITY]。
所以我真的想写这样的特质:
并以下列方式指定它:
有没有办法在不重新扩展或混合选项和未来的情况下做到这一点?
看起来 Option 和 Future 有一些共同点(它们都是容器)。它与单子有关吗?
或者这只是我失眠的产物?
scala - 如何从 Scala 的 Collection 中的索引中获取选项?
有没有办法,仅使用 Scala 集合 API,在尝试通过索引获取元素时获取 List 中的选项?
我正在寻找这个功能的等价物,它存在吗?
谢谢
scala - 为什么这两个代码块对于 Option 类是等价的?
在编写的 Option 类文档中,以下两个示例是等效的:
和
但我不明白它们如何等效:在第一个代码块request getParameter "name"
返回类型实例Option[String]
,但在第二个代码块语句name <- request getParameter "name"
返回类型实例String
(我假设因为下一个语句调用变量trim
上的方法(未定义))。name
trim
Option[String]
scala - 我如何(最好)将选项转换为尝试?
我如何(最好)将方法调用返回的 Option 转换为 Try (根据偏好,尽管 Either 或 scalaz\/
甚至 Validation 可能都可以),包括在适当的情况下指定 Failure 值?
例如,我有以下代码,感觉很笨拙,但至少可以完成(大部分)工作:
感觉应该有一种方法可以将最终匹配变形为 map 或 flatMap 或类似的构造,并合并到前面的理解中。
此外,如果与 BRef 检查失败相比,从 ARef 返回 Option[A] 的调用失败(返回 None),我希望能够指定不同的失败消息(我只关心知道失败的一个原因,因此 scalaz Validation 感觉并不理想)。
这是使用单子变压器的合适地方吗?如果是这样,scalaz 是否提供合适的,或者有人可以举例说明它的外观吗?
scala - 了解期权方法
对于以下map
签名,我是否正确阅读?
源代码 - Scala 中的 FP
[B]
意味着只有类型的对象B
可以调用这个函数
f: A => B
意味着它接受 1 个参数,一个返回相同类型的函数B
我对这个函数的一个具体例子很模糊。
scala - 在 Option[X] 上使用 if 而不是 match
我想用 if 语句替换下面的匹配,最好比这更简洁。我个人发现 if's 更容易在脑海中解析。
是否有等效的 if 语句或其他产生等效结果的方法?
scala - 斯卡拉选项 ||
我想在scala中获得几个选项之一的值,如下所示:
但我想知道为什么没有||
为 Option 定义运算符?有没有更惯用的方式来做到这一点?
scala - 如何展平 Try[Option[T]]
我想将 a 展平Try[Option[T]]
为 aTry[T]
这是我的代码
有没有更好的办法 ?
scala - 更优雅的写法 if(list.nonEmpty) Some(list.max) else None?
List.max
根据某些排序返回列表的“最大”元素......但如果列表为空,您将收到java.lang.UnsupportedOperationException: empty.max
异常。我真的不喜欢用 if 语句或匹配或其他东西乱扔代码。我想要类似headOption
for 的东西max
,但我没有看到这样的方法。获得等价物的最优雅方法是list.maxOption
什么?
scala - 覆盖 Scala 中 Option[_] 的 toString 行为
我宁愿只看到 Option 的值(如果它不是 None),而不是以下额外的 Some() 噪音:
现在,我可以为 List[Option[_]] 编写一个处理此问题的方法。但是还有许多其他结构中会出现 Options - 所以这种显式寻址每个结构的方法很麻烦。
由于隐含的优先级较低,以下代码将被忽略:
令人担忧的是 - 尽管实现了例如以所需方式处理此问题的 toString(List[Option_]]) 方法,但这仍然是一次性的。怎么样一个
看来我们仍然需要为每个集合类型实现一个显式的 toString() ..