这里有没有
this aliasing
和self type
之间的关系?this aliasing
是self type
的一个特例吗?
在Programming in Scala第二版P776中,作者说:
abstract class Parser[+T] extends ... { p =>
你在第29.4节中看到了这样的语法,它被用于为trait提供自类型。
但是,自类型的语法看起来不像这样,而是像这样:
另一个问题是,为什么this:SomeAssumedType =>
this aliasing
很有用?我看不出给this
引用取一个别名有任何意义,因为它已经是当前对象引用的传统别名,然而在Play框架源代码中,我看到了很多代码(特别是anorm部分)像这样:
这样做有什么意义?trait RowParser[+A] extends (Row => SqlResult[A]) {
parent =>
p =>
是this
的一个引用,但我不明白有什么必要性,因此我无法在我的代码中使用它,也可能会错过阅读他人代码时的一些重要信息。 - Sawyer