4

なぜこれをコンパイルできないのだろうか:

class MyClass{
  override def toString = "123:" + if (true) "456" else "789"
  //error:  illegal start of simple expression
}
4

2 に答える 2

10

これを試して:

override def toString = "123:" + (if (true) "456" else "789")
于 2013-06-23T02:13:06.477 に答える
0

ペドロフルラは正しいです。あなたの式では、コンパイラは文字列と if を混ぜようとし、失敗します。括弧を使用すると、式のあいまいさがなくなります。

class MyClass{
   override def toString = "123:" + (if (true) "456" else "789")
}

scala 式をテストできるシンプルなオンライン サービスを見つけました: http://www.simplyscala.com/

于 2013-06-23T02:30:44.723 に答える