【问题标题】:Using `Seq::fill` with an existing sequence将 `Seq::fill` 与现有序列一起使用
【发布时间】:2018-01-13 12:16:18
【问题描述】:

我想使用对象Seq 的方法fill(n1, n2)(element : A) 用现有的Seq[Int] 填充Seq[Seq[Int]] 实例,如文档中所述:http://www.scala-lang.org/api/2.12.3/scala/collection/Seq$.html#fillA(elem: =>A):CC[CC[A]]

所以我写了这个电话:

Seq.fill(width, width)(_random_values.)_random_values 是现有的Seq[Int]

问题是fill的第二个列表的参数是一个元素,而不是Seq。那么,我可以键入什么来迭代每个_random_values 的整数并为每个当前整数执行Seq.fill

【问题讨论】:

  • 如果你有Seq(1,2,3),你想要的结果是什么?
  • 如果我有width = 2 和Seq(1, 2, 3, 4),我的结果将是Seq(Seq(1, 2) , Seq(3, 4))。 (注意:width = "维度")

标签: scala


【解决方案1】:

Seq.fill 更适合基于静态值创建Seq。对于您的用例Seq.grouped 可能更合适:

val values: Seq[Int] = List(1, 2, 3, 4)

val result: Seq[Seq[Int]] = values.grouped(2).toSeq

result.foreach(println)

/*
List(1, 2)
List(3, 4)
*/

【讨论】:

  • 嗯,结果是一样的,但我真的想要Seq[Seq[Int]],而不是Iterator
猜你喜欢
  • 2020-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-16
  • 1970-01-01
  • 1970-01-01
  • 2014-06-30
  • 2011-09-30
相关资源
最近更新 更多