2
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?代码中有错误吗?或者有没有一种新的方法可以做到这一点?

4

1 回答 1

14

书中的代码实际上在_and之间不包含空格字符=

在此处输入图像描述

于 2013-02-19T17:17:14.970 回答