The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
44 lines
1.1 KiB
name: range |
|
returns: range |
|
since: 0.58.0 |
|
description: | |
|
Return an opaque object that can be only be used in `foreach` statements. |
|
|
|
<pre><code class="language-meson">[[@range]] range([[@int]] <b>stop</b>) |
|
[[@range]] range([[@int]] <b>start</b>, [[@int]] <b>stop</b>[, [[@int]] <b>step</b>])</code></pre> |
|
|
|
- `start` must be integer greater or equal to 0. Defaults to 0. |
|
- `stop` must be integer greater or equal to `start`. |
|
- `step` must be integer greater or equal to 1. Defaults to 1. |
|
|
|
It cause the `foreach` loop to be called with the value from `start` included |
|
to `stop` excluded with an increment of `step` after each loop. |
|
|
|
example: | |
|
```meson |
|
# Loop 15 times with i from 0 to 14 included. |
|
foreach i : range(15) |
|
... |
|
endforeach |
|
``` |
|
|
|
The range object can also be assigned to a variable and indexed. |
|
```meson |
|
r = range(5, 10, 2) |
|
assert(r[2] == 9) |
|
``` |
|
|
|
optargs: |
|
start: |
|
type: int |
|
default: 0 |
|
description: The start of the range |
|
|
|
stop: |
|
type: int |
|
description: The end of the range |
|
|
|
step: |
|
type: int |
|
default: 1 |
|
description: The loop increment
|
|
|