2012-01-04 2 views
5

Для следующего фрагмента кода, является ли мое понимание $label = $classifier->{result}->{forcast}->[$i]->{label}; правильным?Как проанализировать этот хэш примера хэша?

1) результат используется как ключ для хэш-коррекции классификатора;

2) гнозировать используются в качестве ключа для хэша-иого долл классификатору -> {результат}

3) $ классификатора -> {результат} -> {прогнозировался} является исм в массив, и я -ное значение этого массива также является хеш-ссылкой

4) Метка является ключом хэш-ссылки $ classifier -> {result} -> {forcast} -> [$ i]. Соответствующее значение присваивается левой стороне метки $.

my $i=0; 
while (<classifierinput>) 
{ 
    $label = $classifier->{result}->{forcast}->[$i]->{label}; 
    $i++; 
} 
+0

Как определяется определение классификатора? Что должен делать этот код? – Dave

+0

Ваше понимание верное. Я просто добавлю, что между двумя последовательными наборами индексирующих скобок (либо массивом, либо хешем) стрелка разыменования является необязательной. Таким образом, ваш пример можно записать '$ classifier -> {result} {forcast} [$ i] {label}' (первая стрелка разыменования не является необязательной, поскольку она не находится между двумя наборами скобок). –

ответ

Смежные вопросы