Scala Option[String] 映射变成可迭代的

标签 scala option implicit-conversion iterable

为什么要编译:

def foo() : Iterable[URI] = {
   Some("")
     .map(URI.create)
}

最佳答案

有一个implicit conversion called option2Iterable 直接在 Option 上定义,它转换所有 Option[A]Iterable[A]带有零个或一个元素。

演示这种有点出乎意料的行为的更短的代码片段如下:

(Option(42): Iterable[Int])

它会悄悄转换 OptionList ,在这种情况下产生 List(42) .

关于Scala Option[String] 映射变成可迭代的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52239907/

相关文章:

java - 从 multimap 列表中删除元素的最佳方法

javascript - 使用jQuery禁用功能,直到所有选择均被更改

jquery - iScroll 中的 useTransform 和 useTransition 选项有什么作用?

linux - 在 Linux (Fedora Xfce) 中启动 byzanz-record 的 Bash 脚本

Scala - 定义自己的中缀运算符

c# - C# 中继承的奇怪行为

c# - 连接两个字典

swift - 如何快速复制一个只有一个不同字段的结构

java - SparkR filterRDD 和 flatMap 不工作

scala - 如何在 Scala 中获取偏函数的域?