让我说我有:
object myObject{
class myClass1(){
class myClass11(){
class myClass111
}
class myClass12(){
class myClass121
}
}
}
class myClass{
class myClass2(){
object myObj21
object myObj22
}
}
我希望对上面介绍的类型和对象进行模式匹配,并获取实例:
myClass1
(对象内的嵌套类型) myClass11
和myClass12
(aObject/aClass
内的双重嵌套类型)
myClass2
(类中的嵌套类型)
myObj21
,myObj22
。 (aClass/aClass
)
myClass111
,myClass121
。 (嵌套类型在不同的分支中但具有相同的嵌套级别和相同的“根”)
即。对象/类和相同级别类型或相同子级类型的不同变体。
我可以使用“regex”等效类型而不是明确拼写类型路径吗?
答案 0 :(得分:1)
不,没有好办法做到这一点。嵌套类型上的模式匹配完全不合适,更不用说关于它们的复杂匹配。
您可以使用反射或甚至宏来编写一些自定义unapply来执行此类操作。但想到那个兔子洞让我想知道为什么这首先是必要的。也许你可以添加一些特征来表示你关心的实际行为,以及那些模式匹配?