У меня есть случай, когда я хочу вызвать метод n раз, где n - Int. Есть ли хороший способ сделать это "функциональным" способом в Scala?
case class Event(name: String, quantity: Int, value: Option[BigDecimal])
// a list of events
val lst = List(
Event("supply", 3, Some(new java.math.BigDecimal("39.00"))),
Event("sale", 1, None),
Event("supply", 1, Some(new java.math.BigDecimal("41.00")))
)
// a mutable queue
val queue = new scala.collection.mutable.Queue[BigDecimal]
lst.map { event =>
event.name match {
case "supply" => // call queue.enqueue(event.value) event.quantity times
case "sale" => // call queue.dequeue() event.quantity times
}
}
Я думаю, что закрытие является хорошим решением для этого, но я не могу заставить его работать. Я также пытался использовать for-loop, но это не красивое функциональное решение.