もし私が持っていたら
case class User(var firstName: String, var lastName: String, var city: String)
そしてリスト
val users = List(
new User("Peter", "Fox", "Berlin"),
new User("Otto", "Schmidt", "Berlin"),
new User("Carl", "Schmidt", "Berlin"),
new User("Hans", "Schmidt", "Berlin"),
new User("Hugo", "Schmidt", "Berlin"))
何かを定義する
val test1 = (user:User,key:String) => user.lastName.equals(key)
val test2 = (user:User,key:String) => user.firstName.startsWith(key)
とフィルター
val test = users.filter(u => {
test1(u,"Schmidt") && test2(u,"H")
})
これはうまくいきます。しかし、test1、test2 ... testn を動的にフィルタリングするものを生成するにはどうすればよいでしょうか? 多くのフィルター条件を事前定義し、それらを 1 つの条件 (test1(u,"Schmidt") && test2(u,"H") など) に結合して、リストをフィルター処理し、フィルター処理の順序を結合したいと考えています。