gpt4 book ai didi

scala - 做自己 : T => and this: T => have the same meaning when defining a trait?

转载 作者:行者123 更新时间:2023-12-04 01:37:25 24 4
gpt4 key购买 nike

看来我可以用 selfthis用于引用混入实例或更确切地说是约束混入实例。例如,这些是等价的吗?

scala> trait A { self: List[_] => }
defined trait A

scala> trait B { this: List[_] => }
defined trait B

这只是一个约定,还是使用与 this 不同的东西?提供一些好处?

最佳答案

如果您拥有引用封闭实例的成员类型,则使用“this”以外的名称会很有用。例如,

trait Outer { self =>
trait Inner {
def outer = self
}
}

更可取的是,
trait Outer {
trait Inner {
def outer = Outer.this
}
}

在某些情况下。

关于scala - 做自己 : T => and this: T => have the same meaning when defining a trait?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2219091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com