1

私は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 のインデックスより小さい場合です。

これを行う最良の方法は何ですか?

4

1 に答える 1

1

s.take(3)シーケンスの最初の 3 つの要素、つまりインデックスが 3 より小さいすべての要素 (インデックスは 0 から数えます) を取ります。

于 2013-08-08T18:58:34.167 に答える