なぜこれをコンパイルできないのだろうか:
class MyClass{
override def toString = "123:" + if (true) "456" else "789"
//error: illegal start of simple expression
}
なぜこれをコンパイルできないのだろうか:
class MyClass{
override def toString = "123:" + if (true) "456" else "789"
//error: illegal start of simple expression
}
これを試して:
override def toString = "123:" + (if (true) "456" else "789")
ペドロフルラは正しいです。あなたの式では、コンパイラは文字列と if を混ぜようとし、失敗します。括弧を使用すると、式のあいまいさがなくなります。
class MyClass{
override def toString = "123:" + (if (true) "456" else "789")
}
scala 式をテストできるシンプルなオンライン サービスを見つけました: http://www.simplyscala.com/