访问元组的更好方法(除了匹配大小写)

时间:2012-03-09 15:52:12

标签: scala

我有这个代码。该方法返回(User,Acl,Tree)元组。我没有使用_._1, _._2等访问数据,而是使用匹配。是否有一种比我正在做的更容易(更好)的方式?谢谢

    User.findUserJoinAclTree(3).map {

        _ match {

            case(user, acl, tree) =>

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

        }                   

    }

2 个答案:

答案 0 :(得分:9)

你的表达可以简化一下:

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

首先,你不需要匹配参数,你可以直接传递部分函数来映射,然后你可以使用通配符(_)作为你不需要的元组元素

答案 1 :(得分:5)

在这种特殊情况下,

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