网页学习体会

  • 首页
  • 个人博客
您的位置: 首页  >  IT文章  >  Option Sequence

Option Sequence

分类: IT文章 • 2025-02-08 08:26:13
package option

object Sequence {

  def sequence[A](a: List[Option[A]]): Option[List[A]] = a match {
    case Nil    => Some(Nil)
    case h :: t => h.flatMap(hh => sequence(t) map (hh :: _))
  }

  def main(args: Array[String]): Unit = {
    val l = List(Some(1), Some(2), Some(3), Some(4))
    val l1 = List(Some(1), Some(2), None, Some(4))
    val l2 = Nil
    println(sequence(l))
    println(sequence(l1))
    println(sequence(l2))
  }

}
Some(List(1, 2, 3, 4))
None
Some(List())

相关推荐

  • leetcode 60. Permutation Sequence(康托展开)
  • Either Sequence
  • Option Map2
  • Option Traverse
  • Option
  • Option Sequence
  • Option Variance
  • Linux部分常用命令总结 cat(查看文件数据) cp(复制) curl cut(文本列切割) date(显示或修改时间) dd(底层复制) echo(命令回显) history(查看命令历史) ls(查看文件信息) mktemp(创建临时文件或目录) seq(sequence序列) screen(打开虚拟屏幕) sleep(阻塞指定时长) sort(排序) tee tree(查看目录层级结构) touch(时间戳管理工具) tr(字符串替换) uname(显示运行中的内核相关信息) uniq(去重) watch(定时自动刷新查看) wget(网页下载器) alias和unalias(别名)
  • USACO Sorting a Three-Valued Sequence
  • du -sh查看容量 invalid option -- XX 写在前面 可能出现的错误 原因
  • Rsync详解 1.什么是rsync 2.rsync特性 3.常用参数 4.工作方式
  • 590. N-ary Tree Postorder Traversal
    网站免责声明 网站地图 最新文章 用户隐私 版权申明
本站所有数据收集于网络,如果侵犯到您的权益,请联系网站进行下架处理。   

Copyright © 2018-2021   Powered By 网页学习体会    备案号:   粤ICP备20002247号