tôi có các danh mục sau:scala - sử dụng bộ lọc với mô hình phù hợp với
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
Tôi muốn lọc tất cả "id"> 45. Tôi đã thử một cái gì đó giống như bài viết này filter using pattern matching):
someList.filter{ case(myPair) => ids >= 45 }
nhưng không thành công. đánh giá cao sự giúp đỡ của bạn
scala> someList.filter {case (myPair) => myPair.ids> = 45} res1: Danh sách [myPair] = Danh sách (myPair (89,90) , myPair (45,75)) (nhưng câu trả lời từ Tomasz Nurkeiviecz là tốt hơn, tắt khóa học) – twillouer
@twillouer: Tôi đánh giá cao sự chỉnh sửa của bạn nhưng vui lòng thêm câu trả lời riêng để bạn có thể nhận được tín dụng đầy đủ. –
Bạn có thể đơn giản hóa cuộc gọi 'map' của bạn:' someTable.map (myPair.tupled) .toList' – EECOLOR