code: function range(start, end, step) {
      step || (step = 1);
      if (arguments.length < 2) {
        end = start || 0;
        start = 0;
      }
  
      var index = -1,
          length = Math.max(Math.ceil((end - start) / step), 0),
          result = Array(length);
  
      while (++index < length) {
        result[index] = start;
        start += step;
      }
      return result;
    }
docs: Creates an array of numbers (positive and/or negative) progressing from
  `start` up to but not including `stop`. This method is a port of Python's
  `range()` function. See http://docs.python.org/library/functions.html#range.
  
  @static
  @memberOf _
  @category Arrays
  @param {Number} [start=0] The start of the range.
  @param {Number} end The end of the range.
  @param {Number} [step=1] The value to increment or descrement by.
  @returns {Array} Returns a new range array.
  @example
  
  _.range(10);
  // => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  
  _.range(1, 11);
  // => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  
  _.range(0, 30, 5);
  // => [0, 5, 10, 15, 20, 25]
  
  _.range(0, -10, -1);
  // => [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
  
  _.range(0);
  // => []