私はオブジェクトのリストを縮小しようとしていますが、Scalaと私の脳はちょうど収束しません(または私は完全に間違った方法で考えています、笑)。私の質問は非常にシンプルですが、とにかく解決策を見つけることができません。Scalaのオブジェクトのリストを減らしてください
エラーが怒鳴るようになります。
type mismatch;
found : Double
required: models.Transaction
def accountBalance(account: String): Double = {
val accountTransactionList = Transaction.accountBalance(account)
accountTransactionList.reduce {
(transactionA, transactionB) => transactionA.amount + transactionB.amount
}
0.0
}
はTransaction.accountBalance(アカウント)と私のオブジェクトトランザクション:
object Transaction {
var accountTransactions = Map[String, List[Transaction]]()
def accountBalance(account: String): List[Transaction] = accountTransactions.getOrElse(account, List[Transaction]())
}
私は、コードのコンパイルだけして0.0を返すのですが、なぜScalaは期待しています私のクラスモデル。取引?
ありがとうございました!
reduceには、アキュムレータと現在の値の入力があります。私は '(transactionA、transactionB)=> transactionA.amount + transactionB.amount'を '(acc、transactionA)=> acc + transactionA.amount'に変更したいと思います。より多くのコードなしで言うのは難しい。 – erip
@eripこれは動作しません、このエラーを示しています:オーバーロードされたメソッド値[+]を適用することはできません(models.Transaction) –