【发布时间】:2016-03-03 19:44:04
【问题描述】:
取自typelevel/kind-projector,有什么区别:
// partially-applied type named "IntOrA"
type IntOrA[A] = Either[Int, A]
和
// type projection implementing the same type anonymously (without a name).
({type L[A] = Either[Int, A]})#L
?
它们是等价的吗?
【问题讨论】:
-
最后这个
#L是什么? -
@YuvalItzchakov 以及
#L访问刚刚在里面创建的类型成员 -
@Łukasz 还有
#有什么用? -
@YuvalItzchakov
#是类型投影。它允许您访问任何依赖于路径的类型,L 是并将其视为不依赖于路径,即通过路径依赖类型,内部类型在使用.访问时不相等,但在使用#访问时是相等的。查看更多stackoverflow.com/questions/9443004/…
标签: scala partial-application type-constructor kind-projector