Scala:通过给定索引从Seq获取项目(给定索引上方的所有项目)

时间:2013-08-08 18:45:47

标签: scala seq

我是scala的新手,我理解Seq的方式是它的有序列表。所以我想知道我是否可以根据给定索引获取所有项目,其中检索项目索引小于给定项目索引。

让我说我有Seq:

scala> val s = Seq(1, 2, 34 ,44 )
s: Seq[Int] = List(1, 2, 34, 44)

鉴于索引索引为第3项,我期望得到索引位置低于给定索引的所有项目(值)。

记住这一点我写了以下内容,看起来我错了。

scala> val x = s.map {
     | id => id < s.indexOf(3) }
x: Seq[Boolean] = List(false, false, false, false)

我想要的是Seq(1,2,34)作为输出,因为如果这些元素的索引小于44的索引。

这是最好的方法吗?

1 个答案:

答案 0 :(得分:1)

s.take(3)将取序列的前三个元素,即索引小于3的所有元素(索引从零开始计数)。