本书中 Scala 的隐式 setter 和 getter 示例产生编译错误

标签 scala

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?代码中是否有错误?还是有一种新的方法来做到这一点?

最佳答案

书上的代码实际上在_=之间没有空格:

enter image description here

关于本书中 Scala 的隐式 setter 和 getter 示例产生编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14963427/

相关文章:

scala - 为什么使用 Kafka 的 Spark Streaming 应用程序失败并显示 "ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaRDDPartition"?

string - 在程序中检查输入字符串是否为路径的最佳方法是什么?

scala - 如何使 List[String] 成为字符串列表

json - 如何使用 *non-case* 类使用 Scala 从 JSON 反序列化?

algorithm - LinearSeqOptimized#查找引用副本

scala - 查询表时shark/spark抛出NPE

scala - 使用 json4s 解析 JSON 时引发不可序列化异常

scala - Haskell 中的哪些功能无法用 Scala 模拟?

java - Neo4j - 使用 Scala/Java API 检索时限制节点数量

scala - 覆盖助手默认超时