Scala 如何使用路径依赖类型声明函数参数?

Scala 如何使用路径依赖类型声明函数参数?,scala,types,Scala,Types,这似乎是可能的,但我不能。人们对类构造函数的用法提出了很多疑问,但我甚至不能在一个简单的函数上使用它 我有一个名为dependcycychecker的类,它使用scalax图形库。在我的类中,我创建一个图形并将其存储在一个名为DAG的值中。然后,有一个方法返回图形的特定节点。在这个方法中,我将返回类型指定为this.DAG.NodeT,它工作得很好 那么,我要做的就是将这样一个方法的返回传递给类外的另一个函数。我有点困惑。我所尝试的: def func(arg:DependencyChecker

这似乎是可能的,但我不能。人们对类构造函数的用法提出了很多疑问,但我甚至不能在一个简单的函数上使用它

我有一个名为
dependcycychecker
的类,它使用scalax图形库。在我的类中,我创建一个图形并将其存储在一个名为
DAG
的值中。然后,有一个方法返回图形的特定节点。在这个方法中,我将返回类型指定为
this.DAG.NodeT
,它工作得很好

那么,我要做的就是将这样一个方法的返回传递给类外的另一个函数。我有点困惑。我所尝试的:

def func(arg:DependencyChecker#Graph#NodeT){
arg
}
def func(arg:DependencyChecker#DAG#NodeT){
arg
}
def基金[A](参数:A#图#节点){
arg
}

国防费基金[A带有散列的语法是投影,是某种封闭类型的一种类型。为了使依赖类型有意义,您必须绕开依赖类型的路径,以区分
x.T
y.T
。因此,解决方案实际上是传递我正在使用的DependencyChecker实例?是
Graph
中的类型成员吗DependencyChecker
?也就是说,它里面是否声明了
类型图
?否。Graph是
DAG
的类型,它是DependencyChecker里面的一个值,带有散列的语法是投影,是某个封闭类型的一种类型。你必须携带到Dependency类型的路径才能使其有意义,以区分
x.T
y.T
。因此,一个解决方案将实际传递我正在使用的DependencyChecker的实例?是
Graph
中的类型成员吗?也就是说,您是否在其中声明了
type Graph
?否。Graph是
DAG
的类型,它是DependencyChecker中的一个值,