こんにちは仲間の Scala プログラマー
Scala を使って数か月が経ちましたが、適切に基本的な部分に問題があります。助けてくれることを願っています。
case class PersonClass(name: String, age: Int)
object CaseTester {
def main(args:Array[String])
{
val string = "hej"
string match {
case e:String => println(string)
case PersonClass => println(string)
}
}
}
私がこのようにやっていると、エラーが発生します:
pattern type is incompatible with expected type;
found : object PersonClass
required: java.lang.String
case PersonClass => println(string)
次に、パターン マッチングの 2 行目を次のように変更するとします。
case e:PersonClass => println(string)
次に、エラーが発生します。
error: scrutinee is incompatible with pattern type;
found : PersonClass
required: java.lang.String
case e:PersonClass => println(string)
ただし、文字列定義を次のように変更すると、どちらの場合でも正常にコンパイルされます。
val string:AnyRef = "hej"