# File lib/jmespath/nodes/slice.rb, line 12 def visit(value) if String === value || Array === value start, stop, step = adjust_slice(value.size, @start, @stop, @step) result = [] if step > 0 i = start while i < stop result << value[i] i += step end else i = start while i > stop result << value[i] i += step end end String === value ? result.join : result else nil end end