Add getindex methods for NamedTuple #38878
Merged
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.
See #38834
This adds
getindex()
methods forNamedTuple
s to return multiple values as a newNamedTuple
, eg:To be analogous with
getindex
forTuple
s andVector
s. When Jeff commented on the issue, he only gave explicit approval to the idea of using a tuple ofSymbol
s to index, not theAbstractVector
, but it's easy enough to remove the latter if unwanted. If theAbstractVector
method is approved, in the tests, I wasn't sure if testing all of the methods in 1 test would be a good idea or not (see comments) - I assumed keeping them separate would be better.I also added a bit to the docstring, but I wasn't sure if I should also add something to
base/docs/basedocs.jl
somewhere around hereOpen questions / todos
getindex(t::NamedTuple, idxs::AbstractVector{Symbol})
?basedocs.jl
?If there's anything else I've missed, please let me know!