Method: Code::Object::Range#code_step

Defined in:
lib/code/object/range.rb

#code_step(argument) ⇒ Object



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/code/object/range.rb', line 105

def code_step(argument)
  list = List.new
  element = left
  list.code_append(element)

  element = element.code_plus(argument)
  if exclude_end?
    while element.code_inferior(right).truthy?
      list.code_append(element)
      element = element.code_plus(argument)
    end
  else
    while element.code_inferior_or_equal(right).truthy?
      list.code_append(element)
      element = element.code_plus(argument)
    end
  end

  list
end