Una delle prime difficoltà mentali che ho incontrato nell'apprendere Perl 6 è stata la variazione dell'uso dei sigilli, e non perché fosse difficoltosa in sé (anzi risulta semplificata!), ma perché mi appariva incoerente.
In Perl 5 era abbastanza facile, almeno per me, comprendere che $ indicava "un singolo elemento", fosse questo un valore di array, hash o un riferimento (ad un oggetto, sub o altro).
In Perl 6 la cosa non è così e infatti il sigillo del tipo di "container" rimane invariato per tutto il ciclo di vita, e questo significa che ad esempio un array avrà sempre @ come sigillo anche quando si vuole accedere ad un singolo elemento di questo.
Per maggiori dettagli si legga ad esempio "A sigil is for life, not just for value type" nella Exegis 2 % perl6
> "hello".^name
Str
> 10.^name
Int
Nessun commento:
Posta un commento