I find myself writing code like this when I want to repeat some execution n times:
for (i <- 1 to n) { doSomething() }
I'm looking for a shorter syntax like this:
n.times(doSomething())
Does something like this exist in Scala already?
EDIT
I thought about using Range's foreach() method, but then the block needs to take a parameter which it never uses.
(1 to n).foreach(ignored => doSomething())
You could easily define one using Pimp My Library pattern.
scala> implicit def intWithTimes(n: Int) = new { | def times(f: => Unit) = 1 to n foreach {_ => f} | } intWithTimes: (n: Int)java.lang.Object{def times(f: => Unit): Unit} scala> 5 times { | println("Hello World") | } Hello World Hello World Hello World Hello World Hello World
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With