我正在尝试覆盖Scala中的toString方法。它必须返回自创建类实例以来经过的时间。传递的时间是在timePassed()方法中计算的。
我不知道如何强制toString方法执行timePassed方法并在调用它时生成适当的结果。
答案 0 :(得分:9)
toString
不是魔术,它可以自由地调用它想要的任何方法,拥有局部变量等。
override def toString = s"The LED has a status of ${timePassed()}."
或
override def toString = {
val internalTime = timePassed()
s"The LED has a status of $internalTime."
}