さて、このはになるはずですが、私はそれを何時間も働かせようとしています。簡単なScalaフィルタは簡単ではありません
私は、List(Tuple2(String,Int) ...)
を持っているが、例えば、このデータ:私は2番目の要素を持つ唯一のタプルのためにそれをフィルタリングする
('PAUL ANKA',0)
('PAUL ANKA',0)
('P. ANKA /G. HAMILTON /J. NASH',0)
('PAUL ANKA',0)
('PAUL ANKA',0)
('PAUL ANKA',1)
('PAUL ANKA',0)
('PAUL ANKA',0)
('PAUL ANKA',0)
('PAUL ANKA',0)
== 1
それは些細なようだ:
mylist.filter(_._2 == 1)
ただし、だから私は試しました
mylist.filter(x => x._2 == 0)
いいえ、喜びです。これらの例のそれぞれはList(('Paul Anka', 1))
になりますが、リストは空です。
この:予想通り
mylist.filter(x => true)
作品は、すなわち、それはアイデンティティです。
私はこれに私の髪を裂いています。
更新:
これは興味深いです。上記の例のリストは、scalaから出力されます。 prayaguptaの答えを使用して
、私は
@ val data = List(("Charlie Martin", 99), ("prayagupd", 100), ("PAUL ANKA", 1))
data: List[(String, Int)] = List(("Charlie Martin", 99), ("prayagupd", 100), ("PAUL ANKA", 1))
@ println(data)
List((Charlie Martin,99), (prayagupd,100), (PAUL ANKA,1))
は私の例では、単一引用符でこれらの文字列(または推定上の文字列)を出力することを確認します。
mylistに設定したときに、そのタイプの注釈を追加しないでください(例: 'mylist:List [Tuple2 [String、Int]] = ...')型を健全にチェックするだけです。 – ameer
http://www.wartremover.org/doc/warts.html#equals – danielnixon