Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
リストがあり、これを使用して 3 つのリストを作成したいと考えています。フィルターの 2 つのアプリケーションでこれを行うことができます。
val z_out = zs.filter(p1) val z_in = zs.filter(p2) val z_split = zs.diff(z_out union z_in)
リストの 1 回の走査でこれを実行できますか? 次のように:
val (z_out, z_in, z_split) = zs.foldLeft(...)
fold の結果がタプルである限り、次のことができます。
scala> val (a,b,c) = Nil.foldLeft((1,2,3))((x,y) => x) a: Int = 1 b: Int = 2 c: Int = 3