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
ビデオのコード スニペットは次のとおりです。
コンパイルするためにコードを変更する必要がありますか?
を使用して新しい「false」オブジェクトを作成すると
object false extends Boolean {
def ifThenElse[T](t: => T, e: => t) = e
}
エラーが表示されます:
この行に複数のマーカー - 識別子が必要ですが、'false' が見つかりました。
「抽象クラスブール」と同じクラス内でオブジェクトを定義しています。Eclipse IDE では許可されていないため、「false」タイプの新しいオブジェクトを作成できません。