我使用從Scala的採取了一些Scala代碼courers上coursera: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(假)要求: src.functional.week4.Boolean
這裏是從視頻的代碼片段:
我是否需要更改代碼爲了編譯它?
當我創建使用
object false extends Boolean {
def ifThenElse[T](t: => T, e: => t) = e
}
新的「假」的對象,收到了錯誤:
多個標記在該行 - 標識符預期,但「假」找到。
我正在定義與'abstract class Boolean'類相同的類中的對象。我無法創建類型爲'false'的新對象,因爲Eclipse IDE不允許這樣做。
是的,我應該在發佈問題之前觀看了講座的其餘部分。謝謝。我現在宣佈了一個新的'虛假'對象,但我得到一個新的錯誤。我不應該能夠創建一個'false'類型的新對象,因爲'false'是保留的?我更新了我的問題 –
Scala有重新定義保留符號的註釋(主要是爲了允許與沒有相同保留字集合的Java進行互操作)。爲了(重新)定義一個保留的符號,把它包含在反標記中(當定義_and_時引用它......有點乏味,我知道)。 –