Scala语法错误

时间:2015-01-10 10:45:38

标签: scala intellij-idea syntax-error

为什么第19行是错误而第21行不是错误。 这与Eclipse和Intellij Idea中的错误相同。 如果我将第19行更改为myAccount.print而不是OK。

我想这是错误的?!



bject scalatest extends App {
  class BankAccount {
    var balance = 0
    def deposit(amount: Int) {
      if (amount > 0) balance += amount
    }
    def withdraw(amount: Int): Int =
      if (0 < amount && amount <= balance) {
        balance -= amount
        balance
      } else error("insufficient funds")
    def print = println(balance)
  }
  
  val myAccount = new BankAccount
  myAccount deposit 100
  myAccount deposit 100
  myAccount withdraw 50
  myAccount print
  myAccount deposit 1000
  myAccount print
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

由于关于后缀运算符的编译器警告会告诉您,它们有时会因解析而模糊不清。最后一行很好,因为它位于块的末尾,但编译器不太清楚,第19-20行不应该被读作myAccount.print(myAccount).deposit(1000) 。如果您在printmyAccount print;之后添加分号,则应该有效。