私はMartin Oderskyの "ScalaのFuncitonal Programming Principles"のコースラコースに従っています。 「どこでもオブジェクト」のそのweek4 4.2ビデオのために、私は自分のブールクラスを実装するための手順を実行しましたが、日食は、次のようないくつかのエラーを示していますScala self implemented Booleanがいくつかのエラーを表示します
package week4
object Main{
abstract class Boolean{
def ifThenElse[T](e1: => T, e2: => T): T
def && (b2: => Boolean): Boolean = ifThenElse(b2,False)
def || (b2: => Boolean): Boolean = ifThenElse(True,b2)
def unary_!: Boolean = ifThenElse(False,True) //error1
def == (b2: Boolean): Boolean = ifThenElse(b2, b2.unary_!) //error2
def != (b2: Boolean): Boolean = ifThenElse(b2.unary_!, b2) //error3
}
object True extends Boolean{
def ifThenElse[T](e1: => T, e2: => T): T = e1
}
object False extends Boolean{
def ifThenElse[T](e1: => T, e2: => T): T = e2
}
def main(args: Array[String]) {
println("Hello, world!2")
True.ifThenElse(println("True"), println("Flase"))
}
}
ERROR1:見つかった識別子が期待=
を。
ERROR2:この行で
複数のマーカー
- 単純な式の違法開始
- による呼び出し名パラメータ作成():単項=> B2
- 値!この行で
複数のマーカー
- コールバイ名パラメータ作成():week4.Main.Boolean
error3のメンバーではない=> B2
- 値単項!は、週のメンバーではありません。メイン.Boolean
これはどうして起こるのでしょうか?
は、あなたのScalaの自己は、あなたの毎日のコーダの自己と異なるです? –