Para el siguiente fragmento de código, ¿entiendo mi comprensión de $label = $classifier->{result}->{forcast}->[$i]->{label};
?¿Cómo analizar este ejemplo hash de hash?
1) el resultado se usa como la clave para el hash ref del clasificador;
2) forcast se utiliza como clave para el hash de referencia de $ clasificador -> {resultado}
3) $ clasificador -> {resultado} -> {forcast} es una referencia a un array, y yo -thvalor de esta matriz también es una referencia hash
4) La etiqueta es la clave de la referencia de hash $ clasificador -> {resultado} -> {forcast} -> [$ i]. El valor correspondiente se asigna al lado izquierdo de $ label.
my $i=0;
while (<classifierinput>)
{
$label = $classifier->{result}->{forcast}->[$i]->{label};
$i++;
}
¿Cómo se define la entrada de clasificador? ¿Qué se supone que debe lograr este código? – Dave
Su comprensión es correcta. Solo agregaré que entre dos conjuntos consecutivos de paréntesis de indexación (matriz o hash), la flecha de eliminación de referencias es opcional. Por lo tanto, su ejemplo se puede escribir '$ clasificador -> {resultado} {forcast} [$ i] {etiqueta}' (la primera flecha de desreferenciación no es opcional ya que no está entre dos conjuntos de corchetes). –