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 as an extension method:
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