9得票3回答
Scala中使用选项值或默认参数的方法调用

我是一名Scala新手,遇到了一个小问题一直困扰着我。假设有一个带有默认参数的方法: def foo(v: Any = "default"): String = s"called with parameter '$v'" 还有一个选项 val opt: Option[String]。 如...

7得票5回答
在各个地方都使用“Option”有点尴尬。我做错了什么吗?

由于我阅读了有关Option类的文章,该类有助于避免NullPointerException,因此我开始在各个地方使用它。想象一下这样的情况: var file:Option[File] = None 并且稍后当我使用它时: val actualFile = file.getOrEls...

11得票3回答
使用Slick进行左外连接并将整个关联行作为选项提取

我的联接看起来像这样:def byIdWithImage = for { userId <- Parameters[Long] (user, image) <- Users leftJoin RemoteImages on (_.imageId === _.id) ...

8得票4回答
Scala中如何优雅地处理Option?

如何更加通俗易懂地处理 Option,使用 map / getOrElse 还是 match 更为惯用? val x = option map { value => Math.cos(value) + Math.sin(value) } getOrElse { .5 } 或...

10得票2回答
Scala:Option[Boolean] 有意义吗?

因此,Option[Int], Option[String]或者其他类型的Option[A]将产生Some(A)或None,但是Boolean不同,因为它本质上代表了双重状态(true/false),那么有Option[Boolean]有意义吗?在某些业务逻辑下,当JSON响应不应包含布尔字段...

11得票3回答
哪些Scala方法返回null而不是Option,为什么?

我想知道标准库是否完全没有null,如果有的话,希望了解什么情况下返回null比返回一些Option实例更可取。

13得票4回答
总结两个选项

假设我有两个可选的整数(都可以是Some或None): val one : Option[Int] = Some(1) val two : Option[Int] = Some(2) 我的问题如下:是否有任何智能的方法,使用Scala的集合方法进行它们的求和?我意识到我可以将它们合并成一...

25得票6回答
如果列表不为空,将列表转换为Option类型

我有一个方法,应该将列表转换为一个对象的Option,如果列表为空,则返回None。 我有一种方法,可以将一个列表转换为一个对象的Option。如果这个列表为空,那么返回None。def listToOption(myList: List[Foo]): Option[Bar] = { i...

22得票5回答
Scala:使得从Option[A]到Option[B]的隐式转换 A->B 起作用

我正在尝试编写一个函数,以通用的方式重复使用我对对象A->对象B的隐式转换,当它们被包装在Option中时,使得Option[A]->Option[B]的转换也能起作用。 我的想法是: implicit def fromOptionToOption[A, B](from: Option[A...

13得票5回答
如何更优雅地编写if(list.nonEmpty)Some(list.max)else None?

List.max可以根据某种顺序返回列表中的“最大”元素... 但如果列表为空,则会出现java.lang.UnsupportedOperationException: empty.max异常。 我不喜欢在代码中使用if语句、匹配或其他东西。 我想要像headOption这样的max方法,但我...