为什么我在添加伴侣对象时不能使用case类的“tupled”?

时间:2017-08-25 07:29:06

标签: scala case-class

当我将伴侣对象添加到我的case类时,我不能使用tupled将参数作为元组传递。

case class Person(name:String, age:Int)
object Person {}

Person.tupled // Not works

错误:

Error:(7, 9) value tupled is not a member of object A$A6.this.Person
Person.tupled
       ^

有人可以解释这种行为吗?谢谢!

2 个答案:

答案 0 :(得分:2)

由于AutomaticMigrationsEnabled方法是Function2的方法,

您可以通过tupled实现此目标。

答案 1 :(得分:2)

对于自动合成的案例类伴随对象,tupled继承自FunctionN。但是,您显式地告诉Scala您希望您的伴随对象继承自FunctionN,而且,您不会得到tupled