1

オプションとスレッドを練習するオンライン演習に取り組んでいますが、どちらもほとんど経験がありません。オンラインの演習にはテスト スイートが付属しているため、現在、スレッドのテスト ケースに進む前に、オプションのテスト ケースに合格するようにしています。

これが私のコードです:

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)
}

現在、 type が必要であるというエラーが表示されてcloseAccount()いるため、コメントアウトしましたSome[Int] instead of Option[Int]。私がどのように初期化したかを考えると理解できますbalance。に見られるようにの値から への移行方法がわかりませSome[Int]ん。NonecloseAccount()

これを理解する上で、どんな助けもいただければ幸いです。前もって感謝します。

最初の編集: で犯していた愚かな間違いを理解しましたincrementBalancegetBalanceだったのでval、操作後に値を再計算していませんでした。それでも迷ったcloseAccount()

4

1 に答える 1