class Thermometer{
var celsius: Float = _
def fahrenheit = celsius * 9/5 + 32
def fahrenheit_ = (f: Float) {
celsius = (f-32)*5/9
}
override def toString = fahrenheit + "F/"+ celsius + "C"
}
引用的代码是 Programming in Scala 2nd edition
一书中的示例。当我尝试编译时,出现以下错误:
scalac Thermometer.scala
Thermometer.scala:6: error: not found: value f
def fahrenheit_ = (f: Float) {
^
scala 是否不再支持隐式定义的 getter 和 setter?代码中是否有错误?还是有一种新的方法来做到这一点?
最佳答案
书上的代码实际上在_
和=
之间没有空格:
关于本书中 Scala 的隐式 setter 和 getter 示例产生编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14963427/