Как вызвать метод n раз в Scala?

У меня есть случай, когда я хочу вызвать метод 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, но это не очень красивое функциональное решение.

18
задан Jonas 26 September 2011 в 01:05
поделиться