This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.

flatten

        # Hash.flatten

(from ruby core)
---
    hash.flatten -> new_array
    hash.flatten(level) -> new_array

---

Returns a new Array object that is a 1-dimensional flattening of `self`.

---

By default, nested Arrays are not flattened:
    h = {foo: 0, bar: [:bat, 3], baz: 2}
    h.flatten # => [:foo, 0, :bar, [:bat, 3], :baz, 2]

Takes the depth of recursive flattening from Integer argument `level`:
    h = {foo: 0, bar: [:bat, [:baz, [:bat, ]]]}
    h.flatten(1) # => [:foo, 0, :bar, [:bat, [:baz, [:bat]]]]
    h.flatten(2) # => [:foo, 0, :bar, :bat, [:baz, [:bat]]]
    h.flatten(3) # => [:foo, 0, :bar, :bat, :baz, [:bat]]
    h.flatten(4) # => [:foo, 0, :bar, :bat, :baz, :bat]

When `level` is negative, flattens all nested Arrays:
    h = {foo: 0, bar: [:bat, [:baz, [:bat, ]]]}
    h.flatten(-1) # => [:foo, 0, :bar, :bat, :baz, :bat]
    h.flatten(-2) # => [:foo, 0, :bar, :bat, :baz, :bat]

When `level` is zero, returns the equivalent of #to_a :
    h = {foo: 0, bar: [:bat, 3], baz: 2}
    h.flatten(0) # => [[:foo, 0], [:bar, [:bat, 3]], [:baz, 2]]
    h.flatten(0) == h.to_a # => true



      

This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.