Class: Take

Inherits:
Op
  • Object
show all
Defined in:
lib/jop.rb

Constant Summary collapse

REP =
'{.'

Instance Method Summary collapse

Methods inherited from Op

#apply_monad_deep, #integer_args, #numeric_literal?, #to_numeric

Instance Method Details

#run(ary, interpreter) ⇒ Object



225
226
227
228
229
230
231
232
233
234
235
236
237
# File 'lib/jop.rb', line 225

def run ary, interpreter
  if interpreter.tokens.size > 0 && numeric_literal?(interpreter.tokens[0])
    number = to_numeric(interpreter.tokens[0])
    interpreter.advance(1)
    if number >= 0
      ary.take(number)
    else
      ary.reverse.take(-number).reverse
    end
  else
    ary.take(1)
  end
end