groovy.lang

## Interface Range<T extends Comparable>

- All Superinterfaces:
    Collection<T>, Iterable<T>, List<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.
  Version:
    $Revision$
  Author:
    James Strachan

- - ### Method Summary

    Methods
    Modifier and Type | Method and 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.List

      `add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, set, size, subList, toArray, toArray`

- - ### Method Detail

    - #### 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.
      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