Class used via an implicit conversion to enable a times method to be invoked
on Ints to repeat a given side-effecting operation multiple times.
When an instance of this class is constructed, 0 and any positive number may be passed as num,
but a negative number will result in an IllegalArgumentException. If constructed with 0, the times method
on the resulting instance will return without invoking the function passed to it. If constructed with 1, the times method
will invoke the function passed to it once then return.
IllegalArgumentException if num is less than zero.
the integer to which the times method will be added.
Executes the passed by-name parameter num number of times.
If the function completes abruptly with an exception, this method will complete abruptly with the same
exception immediately. Thus in the case of an exception, this method may actually invoke the
passed function fewer than num times.
the by-name parameter to execute num times