
Untitled
By: a guest on
Jun 11th, 2012 | syntax:
None | size: 0.51 KB | hits: 14 | expires: Never
What is Ruby recursion and how does it work?
>> def countdown(n)
.. return if n.zero? # base case
.. puts n
.. countdown(n-1) # getting closer to base case
.. end #=> nil
>> countdown(5) #=> nil
5
4
3
2
1
def fib(n)
return n if (0..1).include? n
fib(n-1) + fib(n-2) if n > 1
end
h = {foo: 42, bar: 666}
parent = {child: {foo: 42, bar: 666}}
h[:parent] = parent
h.inspect # => {:foo=>42, :bar=>666, :parent=>{:child=>{...}}}
x = []
y = [x]
x << y
x.inspect # => [[[...]]]
x == [x] # => true