map
とfilter
をどうにかしてview
をSeq
に変換するように見えます。Scala `view`:` force`は `Seq`のメンバではありません
> (v.view map (_ + 1) map (_ * 2)).force
res12: Seq[Int] = Vector(4, 6, 8, 10, 12, 14, 16, 18, 20, 22)
しかし、私は似た何かをする場合、私はエラーを取得する:documentationは、この例が含まれてい
> val a = Array(1,2,3)
> s.view.map(_ + 1).map(_ + 1).force
<console>:67: error: value force is not a member of Seq[Int]
それはSeqView
がSeq
なるとよりもし私map
view
Array
をより詳細ようです。
> a.view.map(_+1)
res212: scala.collection.SeqView[Int,Array[Int]] = SeqViewM(...)
> a.view.map(_+1).map(_+1)
res211: Seq[Int] = SeqViewMM(...)
私はList
かVector
と、この動作を複製することはできません、この動作は、Array
が可変のコレクションであることとは何かを持っていることが疑われます。しかし、filter
Array
view
私は好きなだけ何度でもできます。
私のIDEはこれを正しく入力するため、REPLのバグのようです。これについてより多くのフィードバックを得ることができれば、おそらくあなたはバグを提出するべきです。 – tkroman
スカラのIDEを使用する 'a.view.map(_ + 1).map(_ + 1).force'を実行しようとしたときと同じエラーが発生する – Shastick
しかし、' .asInstanceOf [SeqView [Int、配列[Int]]]。force'をそれに不平を言うことなく。 – Shastick