Il perl6 equivalente è il Pair type e il suo operatore di costruzione è =>. Sono immutabili - una volta creati la chiave e il valore non possono essere modificati;
$ perl6
> my $destination = "Name" => "Sydney" ;
Name => Sydney
> say $destination.WHAT ;
(Pair)
> $destination.value = "London";
Cannot modify an immutable Str
in block <unit> at <unknown file> line 1
>
Come la "virgola grasso" dal perl5, il costruttore non richiede il lato sinistro da citare se si tratta di un unico identificatore. Esiste una sintassi alternativa per esprimere coppie chiamate "coppia di due punti". Puoi raccogliere un certo numero di coppie in una lista ma saranno accessibili solo posizionalmente;
> $destination = (Name => "Sydney" , :Direction("East") , :Miles(420));
(Name => Sydney Direction => East Miles => 420)
> say $destination.WHAT ;
(List)
> say $destination[1] ;
Direction => East
>
ci sono convenienti varianti della sintassi di coppia di due punti - se il valore è una stringa, è possibile sostituire le parentesi con parentesi angolari e rilasciare le virgolette. Se il valore è un numero intero, è possibile elencare immediatamente la chiave dopo il il valore senza virgolette. Se il valore è booleano, è possibile elencare la chiave da sola se il valore è True o con prefisso !
se il valore è False.
Infine, è possibile assegnare un numero di questi in un hash in cui è possibile accedere ai valori tramite chiave e sono modificabili;
> my %destination = (:Name<Sydney> , :Direction<East> , :420miles , :!visited) ;
Direction => East, Name => Sydney, miles => 420, visited => False
> say %destination<miles> ;
420
> %destination<visited> = True ;
True
>
Stai cercando una Hashmap? – zb226
@ zb226 'my $ name =" twostraws "; my $ password = "fr0st1es"; my $ list = (: nome ($ nome),: password ($ password)); dire $ lista [0] {'nome'}; ' è questo ** HashMap **? – chenyf
È una [Lista] (https://doc.perl6.org/type/List) di [Coppia] (https://doc.perl6.org/type/Pair) s. Puoi vedere il tipo eseguendo per es. 'dì $ list [0] .WHAT;'. – zb226