我想知道,为什么我不能编译这个:
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/