我正在做一个练习选项和线程的在线练习,我对这两个方面的经验都很少。在线练习附带了一个测试套件,所以现在我正在尝试让我的 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]
变为。None
closeAccount()
任何帮助将不胜感激。先感谢您。
第一次编辑:我弄清楚我犯了什么愚蠢的错误incrementBalance
。由于getBalance
是 a val
,因此它不会在操作后重新计算值。不过还是迷路了closeAccount()
。