Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: [Perl6] Slurpy array of named arguments?

by alexander_lunev (Pilgrim)
on Dec 05, 2016 at 19:13 UTC ( #1177271=note: print w/replies, xml ) Need Help??


in reply to [Perl6] Slurpy array of named arguments?

It seems that you can't do that other than sorting keys:

class testing { method newhash(*%args) { for %args.sort(*.key)>>.kv -> ($k, $v) { say "Hash Key $k => Value $v"; } %args.perl.say; } } my $x = testing.newhash(a => 1, b => 2, c => 3, d => 4);

Here's what docs.perl6.org says about it:

Looping over hash keys and values

Note that the order of the keys and values printed cannot be relied upon; the elements of a hash are not always stored the same way in memory for different runs of the same program. Sometimes one wishes to process the elements sorted on, e.g. the keys of the hash.

There you can also find canonical example.

The code %args.perl.say also do keys sorting, no magic there either.

It seems to me you have only one way to put your keys in order - name them in sortable manner and sort it later.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1177271]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2022-09-29 09:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I prefer my indexes to start at:




    Results (125 votes). Check out past polls.

    Notices?