我有以下列表:斯卡拉 - 使用过滤器模式匹配
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
我想过滤所有的“IDS”> 45。 我想是这样的文章filter using pattern matching):
someList.filter{ case(myPair) => ids >= 45 }
但没有成功。 感谢您的帮助
阶> someList.filter {情况下(myPair)=> myPair.ids> = 45} RES1:列表[myPair] =列表(myPair(89,90) ,myPair(45,75)) (但Tomasz Nurkeiviecz的答案比较好,偏离课程) – twillouer 2013-02-18 17:18:51
@twillouer:感谢您的修改,但请添加一个单独的答案,以便您可以获得完整的功劳。 – 2013-02-18 17:22:01
您可以简化您的'map'调用:'someTable.map(myPair.tupled).toList' – EECOLOR 2013-02-18 17:42:15