2018-07-19 20:42:09 +00:00
created: 20171221184734665
modified: 20171229211834620
tags: [[Filter Operators]] [[Negatable Operators]]
title: range Operator
type: text/vnd.tiddlywiki
caption: range
op-purpose: generate a range of numbers
op-input: ignored
op-parameter: a range specification, like `[1,5]`
op-parameter-name: N
op-output: a series of evenly spaced numbers ranging from `<begin>` to `<end>`
\define range_example(range)
```
[range[$range$]]
```
<$list variable=n filter="[range[$range$]]"><<n>> </$list>
\end
2018-12-02 08:39:28 +00:00
The `range` operator produces a list of numbers counting up or down. It's useful for counting and numbering, or in combination with the [[Formula Plugin]].
2018-07-19 20:42:09 +00:00
|!Purpose|produce a range of numbers|
|!Input|ignored.|
|!Parameter|1-3 numbers separated by `,` or `;`.|
2018-12-02 08:39:28 +00:00
|!Output|A series of evenly spaced numbers ranging from `<begin>` to `<end>`|
2018-07-19 20:42:09 +00:00
|!`!` Output|As ''Output'', but with order reversed.|
The parameter has three forms:
2018-12-02 08:39:28 +00:00
|Parameter|Output|h
|`<end>`|Whole numbers up to `<end>`.|
|`<begin>,<end>`|Numbers from `<begin>` to `<end>`, spaced by whole numbers.|
|`<begin>,<end>,<step>`|Numbers from `<begin>` to `<end>` spaced out by `<step>`.|
2018-07-19 20:42:09 +00:00
Each part must be a number, and works as follows:
2018-12-02 08:39:28 +00:00
* `<begin>`: start counting at this number.
** Defaults to 1 if `<end>` is at least 1 (or -1 if `<end>` is at most -1).
2018-07-19 20:42:09 +00:00
* `<end>`: stop counting at this number.
2018-12-02 08:39:28 +00:00
** This number will appear in the list unless it falls between two steps.
2018-07-19 20:42:09 +00:00
* `<step>`: count up (or down) by this amount.
2018-12-02 08:39:28 +00:00
** Defaults to 1.
** Cannot be zero.
** We always count from `<begin>` toward `<end>`, whether `<step>` is positive or negative.
2018-07-19 20:42:09 +00:00
The number of decimal points in the output is fixed, and based on the parameter with the //most// decimal points.
To prevent the browser from freezing, `range` is currently limited to 10,000 values.
!!Examples
<<range_example "7">>
<<range_example "1, 10">>
<<range_example "17,13">>
<<range_example "1.001, 5, 1">>
<<range_example ".5,1.4,.004">>