Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a new method,
to_nested_h
, to the Array class. The method allows converting an array of keys at multiple levels into a nested hash with a specified default value at its leaf nodes. It supports arrays of arbitrary depth and ensures consistent behavior, even for edge cases like empty arrays.Motivation
Currently, Array#to_h works well for flat key-value pair conversions but doesn't support nested structures. This method addresses that gap, enabling developers to build nested hash structures in a clean and intuitive way.
Given a multi-dimensional array,
to_nested_h
generates a nested hash where the keys are derived from each level of the array. Leaf nodes in the resulting hash are assigned a default value, which can be customized.Usage Examples
Single Level
Two Levels
Multiple Levels
Empty Array