Per il seguente frammento di codice, la mia comprensione di $label = $classifier->{result}->{forcast}->[$i]->{label};
è corretta?Come analizzare questo hash di esempio di hash?
1) risultato è utilizzato come chiave per l'hash ref del classificatore;
2) forcast viene utilizzato come chiave per hash ref di $ classificatore -> {risultato}
3) $ classificatore -> {risultato} -> {forcast} è un ref a un array, ed io il valore -th di questo array è anche un riferimento hash
4) L'etichetta è la chiave dell'hash reference $ classifier -> {result} -> {forcast} -> [$ i]. Il valore corrispondente è assegnato alla parte sinistra di $ label.
my $i=0;
while (<classifierinput>)
{
$label = $classifier->{result}->{forcast}->[$i]->{label};
$i++;
}
Come viene definito classifierinput? Cosa dovrebbe realizzare questo codice? – Dave
La tua comprensione è corretta. Aggiungerò semplicemente che tra due serie consecutive di parentesi di indicizzazione (o array o hash), la freccia di dereferenziamento è facoltativa. Quindi il tuo esempio può essere scritto '$ classifier -> {result} {forcast} [$ i] {label}' (la prima freccia di dereferenziazione non è opzionale in quanto non si trova tra due serie di parentesi). –