sonic-pi

https://github.com/sonic-pi-net/sonic-pi

C++

Code. Music. Live.

Hamster::Hash#flatten

Return a new {Vector} which is a one-dimensional flattening of this `Hash`.
If `level` is 1, all the `[key, value]` pairs in the hash will be concatenated
into one {Vector}. If `level` is greater than 1, keys or values which are
themselves `Array`s or {Vector}s will be recursively flattened into the output
{Vector}. The depth to which that flattening will be recursively applied is
determined by `level`.

As a special case, if `level` is 0, each `[key, value]` pair will be a
separate element in the returned {Vector}.

Source | Google | Stack overflow

Edit

git clone [email protected]:sonic-pi-net/sonic-pi.git

cd sonic-pi

open app/server/ruby/vendor/hamster-3.0.0/lib/hamster/hash.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Hamster--Hash-flatten-for-pr


# Commit to git

git add app/server/ruby/vendor/hamster-3.0.0/lib/hamster/hash.rbgit commit -m "better docs for Hamster::Hash#flatten"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-Hamster--Hash-flatten-for-pr

hub pull-request


# Celebrate!