2012-01-04 137 views
5

以下代码片段,是我对$label = $classifier->{result}->{forcast}->[$i]->{label};的理解是否正确?如何分析哈希示例的哈希值?

1)结果被用作分类器的哈希引用的关键字;

2)FORCAST被用作键$分类器的哈希REF - > {结果}

3)$分类 - > {结果} - > {FORCAST}是一个裁判的阵列,以及i这个数组的第一个值也是散列引用

4)标签是哈希引用$ classifier - > {result} - > {forcast} - > [$ i]的关键。相应的值分配给$ label的左侧。

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

classifierinput是如何定义的?这段代码应该完成什么? – Dave 2012-01-04 03:24:47

+0

你的理解是正确的。我只需在两个连续的索引括号集(数组或散列)之间添加它,解引用箭头是可选的。所以你的例子可以写成'$ classifier - > {result} {forcast} [$ i] {label}'(第一个解引用箭头不是可选的,因为它不在两组括号之间)。 – 2012-01-04 09:13:44

回答

2

是的,你的理解是正确的。