Skip to content

Instantly share code, notes, and snippets.

@pasberth
Created August 11, 2011 06:18
Show Gist options
  • Save pasberth/1139013 to your computer and use it in GitHub Desktop.
Save pasberth/1139013 to your computer and use it in GitHub Desktop.
cddddddddr
# [0, 1, 2, 3].car #=> 0, that as (car '(0 1 2 3))
# [0, 1, 2, 3].cdr #=> [1, 2, 3], that as (cdr '(0 1 2 3))
# [0, 1, 2, 3].cdddr #=> [3], that as (cdr (cdr (cdr '(0 1 2 3))))
class Array
def car
first
end
def cdr
clone.tap { |r| r.delete_at 0 }
end
def method_missing(name, *args)
if name =~ /cd(d*)r/
send("c#{$1}r").tap { |r| r.delete_at 0 }
else
super
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment