我正在使用从 coursera 上的 Scala courers 获取的一些 scala 代码:
package src.functional.week4
abstract class Boolean {
def ifThenElse[T](t: => T, e: => T): T
def && (x: => Boolean): Boolean = ifThenElse(x, false)
}
该行 def && (x: => Boolean): Boolean = ifThenElse(x, false)
给出了这个编译时错误:
类型不匹配; 发现:scala.Boolean(false) 需要:src.functional.week4.Boolean
以下是视频中的代码片段:
我是否需要更改代码才能编译?
当我使用创建新的“假”对象时
object false extends Boolean {
def ifThenElse[T](t: => T, e: => t) = e
}
我收到错误:
此行有多个标记 - 应为标识符,但发现“错误”。
我在与“抽象类布尔”相同的类中定义对象。我无法创建“false”类型的新对象,因为 Eclipse IDE 不允许这样做。