Package groovy.lang

# Interface Range<T extends Comparable>

All Superinterfaces:
  `Collection<T>`, `Iterable<T>`, `List<T>`, `SequencedCollection<T>`

All Known Implementing Classes:
  `EmptyRange`, `IntRange`, `ObjectRange`

public interface Range<T extends Comparable> extends List<T>
A Range represents the list of all items obtained by starting from a `from` value and calling `next()` successively until you reach the `to` value. For a reverse range, the list is obtained by starting at the `to` value and successively calling `previous()` until the `from` value is reached.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`containsWithinBounds(Object o)`
Indicates whether an object is greater than or equal to the `from` value for the range and less than or equal to the `to` value.
`T`
`getFrom()`
The lower value in the range.
`T`
`getTo()`
The upper value in the range.
`String`
`inspect()`
`boolean`
`isReverse()`
Indicates whether this is a reverse range which iterates backwards starting from the to value and ending on the from value
`List<T>`
`step(int step)`
Forms a list by stepping through the range by the indicated interval.
`void`
`step(int step, Closure closure)`
Steps through the range, calling a closure for each number.

### Methods inherited from interface java.util.Collection

`parallelStream, removeIf, stream, toArray`

### Methods inherited from interface java.lang.Iterable

`forEach`

### Methods inherited from interface java.util.List

`add, add, addAll, addAll, addFirst, addLast, clear, contains, containsAll, equals, get, getFirst, getLast, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, set, size, sort, spliterator, subList, toArray, toArray`

## Method Details

### getFrom

T getFrom()
The lower value in the range.

Returns:
  the lower value in the range.

### getTo

T getTo()
The upper value in the range.

Returns:
  the upper value in the range

### isReverse

boolean isReverse()
Indicates whether this is a reverse range which iterates backwards starting from the to value and ending on the from value

Returns:
  `true` if this is a reverse range

### containsWithinBounds

boolean containsWithinBounds(Object o)
Indicates whether an object is greater than or equal to the `from` value for the range and less than or equal to the `to` value.

This may be true even for values not contained in the range.

Example: from = 1.5 , to = 3, next() increments by 1 containsWithinBounds(2) == true contains(2) == false

Parameters:
  `o` - the object to check against the boundaries of the range
Returns:
  `true` if the object is between the from and to values

### step

void step(int step, Closure closure)
Steps through the range, calling a closure for each number.

Parameters:
  `step` - the amount by which to step. If negative, steps through the range backwards.
  `closure` - the `Closure` to call

### step

List<T> step(int step)
Forms a list by stepping through the range by the indicated interval.

Parameters:
  `step` - the amount by which to step. If negative, steps through the range backwards.
Returns:
  the list formed by stepping through the range by the indicated interval.

### inspect

String inspect()

Returns:
  the verbose `String` representation of this `Range` as would be typed into a console to create the `Range` instance