diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-08-18 18:23:32 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-08-18 18:23:32 -0400 |
| commit | 43b4af23f84c27dada7a3515a7661f6311e4b3ba (patch) | |
| tree | efd2493fc393aa8f049374d052e258981fd117ae /api/ranges.md | |
| parent | a86eba55d7e26bc357735ccf190013b9346ccb4d (diff) | |
API documentation
Diffstat (limited to 'api/ranges.md')
| -rw-r--r-- | api/ranges.md | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/api/ranges.md b/api/ranges.md new file mode 100644 index 00000000..4771bd58 --- /dev/null +++ b/api/ranges.md @@ -0,0 +1,65 @@ +# Ranges + +Ranges are Tomo's way to do iteration over numeric ranges. Ranges are typically +created using the `Int.to()` method like so: `5:to(10)`. Ranges are +*inclusive*. + +```tomo +>> [i for i in 3:to(5)] += [3, 4, 5] +``` + +--- + +## Range Methods + +### `reversed` + +**Description:** +Returns a reversed copy of the range. + +**Usage:** +```tomo +reversed(range: Range) -> Range +``` + +**Parameters:** + +- `range`: The range to be reversed. + +**Returns:** +A new `Range` with the order of elements reversed. + +**Example:** +```tomo +>> 1:to(5):reversed() += Range(first=5, last=1, step=-1) +``` + +--- + +### `by` + +**Description:** +Creates a new range with a specified step value. + +**Usage:** +```tomo +by(range: Range, step: Int) -> Range +``` + +**Parameters:** + +- `range`: The original range. +- `step`: The step value to be used in the new range. + +**Returns:** +A new `Range` that increments by the specified step value. + +**Example:** +```tomo +>> 1:to(5):by(2) += Range(first=1, last=5, step=2) +``` + +--- |
