Open p6rt opened 7 years ago
When using a multi-dimensional Hash subscript of the form `.{ ; }` the result is always returned as a List (as if taking a slice), even if the subscript for each dimension is scalar:
my %hash = a => {b => 2, c => 4};
say %hash{"a"}{"b"}.perl; # 2 say %hash{"a";"b"}.perl; # (2,)
That doesn't seem logical, and is also inconsistent with multi-dimensional *Array* subscripts:
my @array = 0, [0, 0, 42]; say @array[1][2].perl; # 42 say @array[1;2].perl; # 42
On the other hand, the design docs don't have much to offer on the subject...
- https://design.perl6.org/S09.html#Hashes -- Shows how to *statically declare* multi-dimensional Hashes (NYI in Rakudo), but not how to index them.
- https://design.perl6.org/S09.html#User-defined_array_indexing -- Shows mutli-dimensional associative indexing, but not for Hashes but rather for *Arrays with user-defined indices* (NYI in Rakudo).
Migrated from rt.perl.org#130947 (status was 'new')
Searchable as RT130947$