加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 如果n小于size,xs.sliding(n)的行为不一致?

发布时间:2020-12-16 09:20:53 所属栏目:安全 来源:网络整理
导读:根据 scaladoc,sliding()返回… “生成大小大小的可迭代集合的迭代器,除了最后一个和唯一的元素将被截断,如果元素少于大小. 对于我来说,直观地说,如果可用,滑动(n)将返回n个元素的滑动窗口.在目前的实现中,我需要执行额外的检查,以确保我没有获取1或2个元素
根据 scaladoc,sliding()返回…
“生成大小大小的可迭代集合的迭代器,除了最后一个和唯一的元素将被截断,如果元素少于大小.

对于我来说,直观地说,如果可用,滑动(n)将返回n个元素的滑动窗口.在目前的实现中,我需要执行额外的检查,以确保我没有获取1或2个元素的列表.

scala> val xs = List(1,2)
xs: List[Int] = List(1,2)

scala> xs.sliding(3).toList
res2: List[List[Int]] = List(List(1,2))

我希望这里有空列表.为什么滑动()实现这样呢?

解决方法

它是 was a mistake,但没有固定为2.9.每个人偶尔都会造成设计错误,一旦进入库,这是一个非常重要的任务来删除它.

解决办法:添加一个过滤器.

xs.sliding(3).filter(_.size==3).toList

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读