2012-03-09 20 views
5

Tôi có mã này. Phương thức trả về một (User, Acl, Tree) tuple. Thay vì truy cập dữ liệu với _._1, _._2 v.v ... tôi sử dụng kết hợp. Có cách nào dễ hơn (tốt hơn) sau đó tôi đang làm gì không? Cảm ơnCách tốt hơn để truy cập bộ dữ liệu (trừ trường hợp trùng khớp)

User.findUserJoinAclTree(3).map { 

     _ match { 

      case(user, acl, tree) => 

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

     }     

    } 

Trả lời

9

biểu hiện của bạn có thể được đơn giản hóa một chút:

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

Trước tiên, bạn không cần phải phù hợp với các đối số, bạn có thể trực tiếp thông qua một chức năng một phần để lập bản đồ, sau đó bạn có thể sử dụng ký tự đại diện (_) cho các yếu tố tuple bạn không cần

5

Trong trường hợp đặc biệt này,

for ((user,_,_) <- User.findUserJoinAclTree(3)) yield Logger.info(user.email) 
Các vấn đề liên quan