该
(...)(People)语法是为您使用构造参数列表(嗯,从技术上讲,它是一个
Builder,而不是列表)而设计的,
and并希望将
People构造函数提升到应用函子中,
Reads以便可以将其应用于这些参数。
例如,如果您的
People类型如下所示:
case class People(names: Set[Id], home: String)
您可以这样写:
implicit val PeopleReads: Reads[People] = ( (__ "names").read[Set[Id]] and (__ "home").read[String])(People)
但是,在您的情况下,for的构造函数
People只有一个参数,并且您没有使用过
and,所以您没有a
Builder[Reads[Set[Id] ~String],您只是拥有一个普通的old
Reads[Set[Id]]。
很好,因为它意味着您不需要怪异的应用函子语法,而您所需要的只是
map:
implicit val PeopleReads = (__ "names").read[Set[Id]].map(People)
这样就完成了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)