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?代码中是否有错误?或者有一种新方法吗?
答案 0 :(得分:14)
书中的代码实际上不包含_
和=
之间的空格字符: