Ich habe folgende Listen:scala - mit Filter mit Pattern-Matching
case class myPair(ids:Int,vals:Int)
val someTable = List((20,30), (89,90), (40,65), (45,75), (35,45))
val someList:List[myPair] =
someTable.map(elem => myPair(elem._1, elem._2)).toList
Ich mag würde alle "ids"> 45 filtern. Ich habe versucht, so etwas wie dieser Artikel filter using pattern matching):
someList.filter{ case(myPair) => ids >= 45 }
aber ohne Erfolg. schätzen Ihre Hilfe
scala gibt> someList.filter {case (myPair) => myPair.ids> = 45} res1: Liste [myPair] = List (myPair (89,90) , myPair (45,75)) (aber Antwort von Tomasz Nurkeiviecz ist besser, natürlich) – twillouer
@ twillouer: Ich freue mich über Ihre Bearbeitung, aber bitte fügen Sie eine separate Antwort, so dass Sie eine volle Anerkennung dafür erhalten können. –
Sie können Ihren 'map'-Aufruf vereinfachen:' someTable.map (myPair.tupled) .toList' – EECOLOR