Method: JSI::Ptr#take

Defined in:
lib/jsi/ptr.rb

#take(n) ⇒ JSI::Ptr

a pointer consisting of the first n of our tokens

Parameters:

  • n (Integer)

Returns:

Raises:

  • (ArgumentError)

    if n is not between 0 and the size of our tokens



203
204
205
206
207
208
# File 'lib/jsi/ptr.rb', line 203

def take(n)
  unless n.is_a?(Integer) && n >= 0 && n <= tokens.size
    raise(ArgumentError, "n not in range (0..#{tokens.size}): #{n.inspect}")
  end
  n == tokens.size ? self : Ptr.new(tokens.take(n).freeze)
end