You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<masak> m: enum Stone «:None<.> :Vertical<V> :Horizontal<H>
:Neutral<n>»; my %h = Stone.enums.invert; say %h.perl
<camelia> rakudo-moar 1d1256: OUTPUT«{"." => "None", :H("Horizontal"),
:V("Vertical"), :n("Neutral")}»
<masak> I haven't thought hard about this, but it would be more useful
in this case to get the enum *values* in the hash values
<masak> not their string names
* masak submits rakudobug, just in case he's right
<masak> m: enum Stone «:None<.> :Vertical<V> :Horizontal<H>
:Neutral<n>»; my %h = Stone.enums.invert; say %h.perl
<camelia> rakudo-moar 1d1256: OUTPUT«{"." => "None", :H("Horizontal"),
:V("Vertical"), :n("Neutral")}»
<masak> I haven't thought hard about this, but it would be more useful
in this case to get the enum *values* in the hash values
<masak> not their string names
* masak submits rakudobug, just in case he's right
I think the problem is really that .enums gives you a Hash with the string names as keys. The .invert then just does what it is supposed to do.
So either we let enums return an object Hash with the Enums as keys (which will probably break code), or we need to return a Hash with a special .invert method mixed in. But then we would also need to think what .kv and .pairs would do on that hash.
Migrated from rt.perl.org#127789 (status was 'open')
Searchable as RT127789$
The text was updated successfully, but these errors were encountered: