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