2012-03-09 12 views
5

Mam ten kod. Metoda zwraca krotkę (User, Acl, Tree). Zamiast dostępu do danych z _._1, _._2 itp. Używam dopasowania. Czy jest lepszy (lepszy) sposób niż to, co robię? DziękiLepszy sposób uzyskania dostępu do krotki (innej niż dopasowanie)

User.findUserJoinAclTree(3).map { 

     _ match { 

      case(user, acl, tree) => 

       Logger.info(user.email) 
       Logger.info(acl.id) 
       Logger.info(tree.name) 

     }     

    } 

Odpowiedz

9

wyrażenia można uprościć nieco:

User.findUserJoinAclTree(3) map { 
    case (user,_,_) => Logger.info(user.email) 
}     

Po pierwsze, nie trzeba dopasować argumenty, można bezpośrednio przejść częściową funkcję mapie, a następnie można użyć symbolu wieloznacznego (_) dla elementów krotki nie trzeba

5

w tym konkretnym przypadku,

for ((user,_,_) <- User.findUserJoinAclTree(3)) yield Logger.info(user.email) 
Powiązane problemy