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.
45 lines
1.1 KiB
45 lines
1.1 KiB
3 years ago
|
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
|