s5.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 31 行

SCALA
31
字号
/* Here's a fragment of a Scala encoding for the Keris module system;** the compiler claims:**** S5.scala:28: value n in class N of type N.this._N.n** cannot override value n in class M of type M.this._N.n**        val system = new M() with N() {}**                         ^** To me it seems like the code is perfectly fine...*/abstract class M() {    val _N: N;    val n: _N.n;    val _M: M = this;    val m: _M.m = new _M.m();    class m() {        // module body of M    }}trait N {    val _N: N = this;    val n: _N.n = new _N.n();    val _M: M;    val m: _M.m;    class n() {        // module body of N    }}object O {    val system = new M() with N {}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?