```
do_times(n, fn, @key from = 0, init)
```

Return the final value of the function `fn`

, after calling it `n`

times.

The starting value of `n`

is specified by the `from`

keyword argument.
`Fn`

take three arguments - the current value of `n`

, the value returned by
the previous call to `fn`

and a function that can be called to exit from the
loop prematurely. The initial value of the second argument is specified by
the `init`

keyword argument.

```
do_times(5, ^(n, p, _) n + p, init = 0)
// 10
do_times(5, ^(n, p, return) if (n == 4) return(p) else n + p, init = 0);
// 6
```