我有一个scala语法问题-说我有一个简单的依赖模式构造,如下所示
trait Master {
val foobar
object SubObject extends SubObject {
foobar = foobar
}
}
trait SubObject {
val foobar
}
显然,由于参考
foobar = foobar
是模棱两可的。
如何指定表达式的RHS应该引用Master的foobar变量?我应该了解“本”或“自我”的某种特殊用法吗?
最佳答案
我认为最简单的方法是使用自定义类型。除了一系列很酷的类型理论效果之外,您还可以使用自类型为“this”创建别名。 (尚未测试)
trait Master {
master =>
val foobar
object SubObject extends SubObject {
foobar = master.foobar
}
}
trait SubObject {
val foobar
}
关于scala - Scala变量作用域问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6099898/