正如问题标题所述,访问type
的成员是否会导致该成员的评估?或者它只是使用它的静态类型?访问lazy val的类型是否会导致它被评估?
这里是其中我有一个implicit lazy val
的示例代码,我想在与该类型的接受implicit val
的方法使用它的类型:
implicit lazy val nonSpaces: Array[(Point, Part)]
.. 。
def randomNonSpaceCoordinate(implicit nonSpaces: this.nonSpaces.type): Point = nonSpaces(Utils.Random.randUpTo(nonSpaces.length))._1
我得到了我的答案,谢谢。我认为我很懒,因为我也可以尝试。但是将它作为StackOverflow中的QA很好,对不对? 所以只需访问该类型不需要实际评估惰性val。你能编辑你的答案来包含这个声明吗? 谢谢。 – ciuncan 2013-02-13 15:02:31