Loops/Wrong ranges: Difference between revisions
Content added Content deleted
Line 1,074: | Line 1,074: | ||
Start equal stop equal zero: zero increment [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] (loops forever) |
Start equal stop equal zero: zero increment [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] (loops forever) |
||
</pre> |
</pre> |
||
=={{header|jq}}== |
|||
jq has a filter `range(start; stop; increment)` which emits a |
|||
(possibly empty) stream of numbers if given numeric inputs. |
|||
It meets the task criterion, e.g. `range(0;1;0.4)` generates 3 numbers. |
|||
In fact, it is quite similar to C's `for (i=start; i < stop; i+=increment)` |
|||
except that if `increment` is 0 or in the "wrong" direction, then nothing is emitted. |
|||
None of the cases enumerated in the task description results in an error, |
|||
and in all but two cases, the result is the empty stream. |
|||
To streamline the presentation of results, rather than showing the stream |
|||
of values generated by stream(start;stop;increment), we will show the |
|||
array of the generated values. |
|||
<pre> |
|||
[range(-2; 2; 1)] #=> [-2,-1,0,1] |
|||
[range(-2; 2; 0)] #=> [] |
|||
[range(-2; 2; -1)] #=> [] |
|||
[range(-2; 2; 10)] # [-2] |
|||
[range(2; -2; 1)] #=> [] |
|||
[range(2; 2; 1)] #=> [] |
|||
[range(2; 2; 0)] #=> [] |
|||
[range(0; 0; -1)] #=> [] |
|||
</pre> |
|||
=={{header|Julia}}== |
=={{header|Julia}}== |