我正在做一个练习选项和线程的在线练习,我对这两个方面的经验都很少。在线练习附带了一个测试套件,所以现在我正在尝试让我的 Option 测试用例通过,然后再转到线程测试用例。
这是我的代码:
case class BankAccount() {
def getBalance = account.balance
def incrementBalance(amount: Int): Option[Int] = {
account.balance = Some(account.balance.get + amount)
getBalance
}
// def closeAccount(): Option[Int] = {
// account.balance = None: Option[Int]
// }
}
object account {
var balance = Some(0)
}
我已经closeAccount()注释掉了,因为它目前给我一个错误,说它期待 type Some[Int] instead of Option[Int]。考虑到我是如何初始化的,这是可以理解的balance。我不确定如何从中看到的值Some[Int]变为。NonecloseAccount()
任何帮助将不胜感激。先感谢您。
第一次编辑:我弄清楚我犯了什么愚蠢的错误incrementBalance。由于getBalance是 a val,因此它不会在操作后重新计算值。不过还是迷路了closeAccount()。